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 SelectVisualizamos 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