none
Graficos (Chart) visual studio 2012 RRS feed

  • Pregunta

  • Hola a todos,

    Os espongo el problema que tengo a ver si me podeís ayudar. Tengo una table que quiero representar mediante un grafico.Esta tiene una fila y varias columnas. Al representarla en el eje de las "X" me aparece todas la columnas juntas, y como supondreis lo que quiero hacer en dividir las columnas, es decir, que aparezcan separadas.

    Me han comentado que la solucion seria un arreglo unidimensional, pero no encuentro nada a practicamnete nada sobre este tema.

    Os agradeceria cualquier ayuda ya sea mediante informacion (Link) o con algun consejo. Me gustaria entender como funciona y asi seguir aprendiendo.

    Un saludo

    viernes, 14 de noviembre de 2014 17:42

Respuestas

Todas las respuestas

  • Hola a todos,

    Os cuento un poco lo que intento hacer y a ver si me podeis ayudar. Ha creado una VIEW con una fila  y varias columnas donde se representan una cuenta contable y el historico de varios años. Mi intencion es representarla en un grafico (Chart). Al realizar el grafico todas las columnas estan juntas, es decir, que no hay separacion entre ellas y lo que quiero es que exista una separacion para diferenciarlas. He estado buscando informacion sobre ello y no he encontrado casi nada, lo que me lleva a pensar que algo estoy haciendo mal.

    Os agradeceria vuestra ayuda,

    Gracias

    martes, 11 de noviembre de 2014 20:24
  • Hola JulioCesar,

    Gracias por tu rapida respuesta. Como estas hablando con un novatillo en esto, puedo preguntarte como transformar una view o tabla, en un arreglo unidimensional.

    Gracias

    miércoles, 12 de noviembre de 2014 12:50
  • Hola Frank0401

    Gracias por consultar en el foro, ¿Qué librería estas usando? ¿Has intentado con Reportviewer? Si nos puedes compartir tu código nos ayudaría a ayudarte de una forma más rápida. Por el momento te comparto esta librería Chart Control for .NET

    Quedamos atentos a tus comentarios.

    Saludos,

    Miguel      

    MSDN/TechNet Soporte Comunidades

    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema.
    Es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    viernes, 14 de noviembre de 2014 23:45
    Moderador
  • Hola Miguel,

    Estoy utilizando el componente chart de visual studio 2012.

    Asi es como representa VStudio 2012 el gráfico

    Grafico

    Tabla (DataGridView):

    Como veras la presentacion es bastante deficiente 

    Lo que pretend, aunque sin mucho exito es que cada columna represente un año.

    Confio que esta nueva informacion sea mas explicita, para que me puedas ayudar.

    Un saludo


    • Editado Frank0401 domingo, 16 de noviembre de 2014 14:10
    sábado, 15 de noviembre de 2014 9:39
  • Hola Frank0401

    Gracias por la información, échale un vistazo a estos enlaces

    Cómo: Asignar columnas ListObject a datos

    Los controles de gráfico de Microsoft, Visual Studio

    Samples Environments for Microsoft Chart Controls

    ¿Estás usando Windows forms?

    Saludos,

    Miguel      

    MSDN/TechNet Soporte Comunidades

    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema.
    Es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    miércoles, 19 de noviembre de 2014 17:05
    Moderador
  • Hi Miguel,

    Gracias por echarme una mano a mi problema.

    Si estoy utilizando windows form en visual studio 2012. y Visual Basic.

    Siento decirte que Los controles de gráfico de Microsoft, Visual Studio    no me funcionan  da error

    "Warning 3 A reference was created to embedded interop assembly 'stdole' because of an indirect reference to that assembly from assembly 'Interop.MSChart20Lib'. Consider changing the 'Embed Interop Types' property on either assembly. WindowsApplication14

    "Warning 2 A reference was created to embedded interop assembly 'Interop.MSDATASRC' because of an indirect reference to that assembly from assembly 'Interop.MSChart20Lib'. Consider changing the 'Embed Interop Types' property on either assembly. WindowsApplication14

    "Warning 1 A reference was created to embedded interop assembly 'Interop.MSDATASRC' because of an indirect reference to that assembly from assembly 'AxInterop.MSChart20Lib'. Consider changing the 'Embed Interop Types' property on either assembly. WindowsApplication14.

    Me gustaria aprender con mas detalle el component CHART de Visual studio con Windows Forms.

    Puedes darme referencias?

    Un saludo

    Francisco

    lunes, 24 de noviembre de 2014 9:56
  • El ejemplo usa serie, chartarea y legend, creadas automáticamente al arrastar el control al form.

    Dim columnas = DataGridView1.Rows(0).Cells.Cast(Of DataGridViewCell).Skip(1)
    
    For Each col As DataGridViewCell In columnas
    	Chart1.Series(0).Points.AddXY(DataGridView1.Columns(col.ColumnIndex).Name, CDec(col.Value))
    Next
    
    Chart1.Series(0).Name = CStr(DataGridView1.Rows(0).Cells(0).Value)
    Chart1.ChartAreas(0).AxisX.Title = "Período"
    Chart1.ChartAreas(0).AxisY.Title = "Monto en €"
    Chart1.Legends(0).DockedToChartArea = "ChartArea1"
    Chart1.Legends(0).Docking = System.Windows.Forms.DataVisualization.Charting.Docking.Bottom
    Chart1.Legends(0).IsDockedInsideChartArea = False
    
    Se recorre la fila y se agregan los datos a la  serie.
    lunes, 24 de noviembre de 2014 13:38
  • Hi JulioCesar,

    Gracias por tu rapida respuesta. He implementado tu codigo en un chart  que tengo preparado en una windows form, y me da error :

    "Conversion from string "Property, plant and equipment" to type 'Decimal' is not valid."

    En las columnas Header tengo:

    CREATE TABLE Property_plant_equipment_Historic
    (
    	[IdCuenta] [float] NOT NULL,
    	[NameCuenta] [nvarchar](255) NULL,
    	Year_2006 decimal (14,2) NULL,
    	Year_2007 decimal (14,2) NULL,
    	Year_2008 decimal (14,2) NULL,
    	Year_2009 decimal (14,2) NULL,
    	Year_2010 decimal (14,2) NULL,
    	Year_2011 decimal (14,2) NULL,
    	Year_2012 decimal (14,2) NULL,
    	Year_2013 decimal (14,2) NULL,
    	Year_2014 decimal (14,2) NULL,

    Se que te estoy dando la vara, pero como podria solucionarlo,

    Gracias de nuevo

    Un saludo,

    Francisco

    lunes, 24 de noviembre de 2014 18:10
  • Skip(2)

    y...

    Chart1.Series(0).Name = CStr(DataGridView1.Rows(0).Cells(1).Value)

    • Editado JulioCésar lunes, 24 de noviembre de 2014 18:19
    • Marcado como respuesta Frank0401 lunes, 24 de noviembre de 2014 18:22
    lunes, 24 de noviembre de 2014 18:16
  • Hi JulioCesar,

    Muchas Gracias, me sacas de un apuro tremendo.

    Un saludo desde Dublin,

    Francisco

    lunes, 24 de noviembre de 2014 18:23