Para el siguiente articulo usaremos el componente Control Chart que ya se incluye en el Visual Studio 2010; para las versiones anteriores puedes descargarlo (http://www.microsoft.com/es-es/download/details.aspx?id=14422) y hacer uso de este potente componente. No entraremos en detalle del mencionado componente, daremos algunas pautas para su uso.
Requisitos para el Desarrollos
- IDE (Visual Studio 2010).
- LP (VB.Net).
- SGBD (SQL Sever 2008)
- Crear el proyecto con nombre de Grafico - Chart.
- Adicionar y diseñar nuestro formulario dando uso del control chart.
Imports System.Data.SqlClient
Module Module1
Public conn As New SqlConnection("Data Source=.; Initial Catalog=BD_PRUEBAS; User Id=hadsonpar; Password=hadsonparedes") '; integrated security=true
End Module
Control combobox.
Adicionamos algunos de los tipos de gráficos para ir mostrando la variedad que nos brindada este control (chart).
Pie Line Point Bar Polar Range Renko SplineArea StackedBar RangeColumn ThreeLineBreak BoxPlot Pyramid StackedColumn100 PointAndFigure Area RangeBar StepLine BoxPlot Kagi Bubble Candlestick Doughnut Funnel FastLine Stock Column Radar
En esta función definiremos la serie, el valor, los puntos X - Y y el estilo de nuestro gráfico.
Public Function TipoGrafico(ByVal grafico As DataVisualization.Charting.SeriesChartType)
Dim Sql As String = "Select Producto, Cantidad From dbo.Producto"
Dim cmd As New SqlCommand(Sql, conn)
cmd.CommandType = CommandType.Text
Dim da As New SqlDataAdapter(cmd)
Dim dt As New DataTable
da.Fill(dt)
'limpiar los puntos X Y
Chart1.Series(0).Points.Clear()
'valores de grafico
Chart1.Series(0).IsValueShownAsLabel = True
'tipo de grafico
Chart1.Series(0).ChartType = grafico
Chart1.Series(0)("PieLabelStyle") = "Inside"
Chart1.Series(0)("PieDrawingStyle") = "Concave"
'forma 3 D
Chart1.ChartAreas(0).Area3DStyle.Enable3D = True
'definor color grafico
Chart1.Series(0).Color = Color.RoyalBlue
'valor de los ejes X Y
Chart1.Series(0).XValueMember = "Producto"
Chart1.Series(0).YValueMembers = "Cantidad"
Chart1.Series(0)("DrawingStyle") = "Wedge"
Chart1.Series(0)("PointWidth") = "0.6"
Chart1.BorderSkin.SkinStyle = DataVisualization.Charting.BorderSkinStyle.Emboss
'label
Chart1.Series(0).IsValueShownAsLabel = True
'Chart1.Series(0).LabelFormat = "P2"
Chart1.Series(0)("LabelStyle") = "Bottom"
Chart1.Series(0).Font = New Font("Times New Roman", 7)
'fondo chart
Chart1.BackColor = Color.White
Chart1.BackSecondaryColor = Color.SkyBlue
Chart1.BackGradientStyle = DataVisualization.Charting.GradientStyle.TopBottom
'fondo area
Chart1.ChartAreas(0).BackColor = Color.White
Chart1.ChartAreas(0).BackSecondaryColor = Color.SkyBlue
Chart1.ChartAreas(0).BackGradientStyle = DataVisualization.Charting.GradientStyle.DiagonalLeft
Chart1.ChartAreas(0).ShadowOffset = 3
'grid line
Chart1.ChartAreas(0).AxisX.MajorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.NotSet
Chart1.ChartAreas(0).AxisX.MinorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.NotSet
Chart1.ChartAreas(0).AxisY.MajorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.NotSet
Chart1.ChartAreas(0).AxisY.MinorGrid.LineDashStyle = DataVisualization.Charting.ChartDashStyle.NotSet
'axis
Chart1.ChartAreas(0).AxisX.LabelStyle.Font = New Font("Arial", 8)
Chart1.ChartAreas(0).AxisY.LabelStyle.Font = New Font("Arial", 8)
Chart1.ChartAreas(0).AxisY.LabelStyle.Format = "P0" 'porcentaje con cero decimales
Chart1.DataSource = dt
End Function
Invocaremos a la función que acabamos de crea.
Private Sub BtnCargarGrafico_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCargarGrafico.Click
Select Case CmbTipoGrafico.SelectedIndex
Case 0
TipoGrafico(DataVisualization.Charting.SeriesChartType.Pie)
Case 1
TipoGrafico(DataVisualization.Charting.SeriesChartType.Line)
Case 2
TipoGrafico(DataVisualization.Charting.SeriesChartType.Point)
Case 3
TipoGrafico(DataVisualization.Charting.SeriesChartType.Bar)
Case 4
TipoGrafico(DataVisualization.Charting.SeriesChartType.Polar)
Case 5
TipoGrafico(DataVisualization.Charting.SeriesChartType.Range)
Case 6
TipoGrafico(DataVisualization.Charting.SeriesChartType.Renko)
Case 7
TipoGrafico(DataVisualization.Charting.SeriesChartType.SplineArea)
Case 8
TipoGrafico(DataVisualization.Charting.SeriesChartType.StackedBar)
Case 9
TipoGrafico(DataVisualization.Charting.SeriesChartType.RangeColumn)
Case 10
TipoGrafico(DataVisualization.Charting.SeriesChartType.ThreeLineBreak)
Case 11
TipoGrafico(DataVisualization.Charting.SeriesChartType.BoxPlot)
Case 12
TipoGrafico(DataVisualization.Charting.SeriesChartType.Pyramid)
Case 13
TipoGrafico(DataVisualization.Charting.SeriesChartType.StackedColumn100)
Case 14
TipoGrafico(DataVisualization.Charting.SeriesChartType.PointAndFigure)
Case 15
TipoGrafico(DataVisualization.Charting.SeriesChartType.Area)
Case 16
TipoGrafico(DataVisualization.Charting.SeriesChartType.RangeBar)
Case 17
TipoGrafico(DataVisualization.Charting.SeriesChartType.StepLine)
Case 18
TipoGrafico(DataVisualization.Charting.SeriesChartType.BoxPlot)
Case 19
TipoGrafico(DataVisualization.Charting.SeriesChartType.Kagi)
Case 20
TipoGrafico(DataVisualization.Charting.SeriesChartType.Bubble)
Case 21
TipoGrafico(DataVisualization.Charting.SeriesChartType.Candlestick)
Case 22
TipoGrafico(DataVisualization.Charting.SeriesChartType.Doughnut)
Case 23
TipoGrafico(DataVisualization.Charting.SeriesChartType.Funnel)
Case 24
TipoGrafico(DataVisualization.Charting.SeriesChartType.FastLine)
Case 25
TipoGrafico(DataVisualization.Charting.SeriesChartType.Stock)
Case 26
TipoGrafico(DataVisualization.Charting.SeriesChartType.Column)
Case Else
TipoGrafico(DataVisualization.Charting.SeriesChartType.Radar)
End Select
Visualizamos algunos de los gráficos y cargamos la data con el tipo de gráfico SplineArea.




2 Comentarios
Excelente
ResponderBorrargracias por el aporte, pero no me aparecen las etiquetas de todas las series, alguna idea... gracias nuevamente
ResponderBorrar