Crear gráfica con datos de un DataTable
Visual Basic.NET
Actualizado el 2 de Junio del 2016 por Hugo (2 códigos) (Publicado el 23 de Mayo del 2016)
31.642 visualizaciones desde el 23 de Mayo del 2016
Para el ejemplo utilizaremos un Button y un Chart.
Creamos nuestra Form y configuraremos el Chart.
Seleccionamos SERIES y lo cambiamos por EDAD.
Dentro del botón tecleamos el siguiente código,
El resultado seria:
Creamos nuestra Form y configuraremos el Chart.
Seleccionamos SERIES y lo cambiamos por EDAD.
Dentro del botón tecleamos el siguiente código,
El resultado seria:
Comentarios sobre la versión: VB:Net 2010 (5)
Sólo añadirÃa que en el web.config hay que eliminar la lÃnea que hace referencia al chart y reemplazarla por esta: <add key="ChartImageHandler" value="storage=memory;deleteAfterServicing=true;"/>
Quiero tomar los datos dentro de dos datagriedview y hacer graficas de puntos pero no encuento como en ek eje x un data y el y el otro
pueden ayudarme ...
Saludos
'Tomanos los datos de DataView para la gráfica
'produccion es el nombre de la serie en las propiedades del chart
```vb
Imports System.Drawing
Imports System.Windows.Forms
Public Class PorterDiagram
Inherits Form
Public Sub New()
' Establecer el tÃtulo del formulario
Me.Text = "Diagrama de las 5 fuerzas de Porter"
' Establecer el tamaño del formulario
Me.Size = New Size(800, 600)
' Llamar al método para dibujar el diagrama
Me.DoubleBuffered = True
End Sub
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
MyBase.OnPaint(e)
' Crear un objeto Graphics para dibujar en el formulario
Dim g As Graphics = e.Graphics
' Establecer el tamaño y la posición de los elementos del diagrama
Dim width As Integer = 100
Dim height As Integer = 50
Dim spacing As Integer = 150
Dim xCenter As Integer = Me.Width \ 2
Dim yCenter As Integer = Me.Height \ 2
' Dibujar las flechas y sÃmbolos de las fuerzas de Porter
DrawArrow(g, xCenter, yCenter - spacing, xCenter, yCenter - height, Color.Red) ' Amenaza de nuevos entrantes
DrawSymbol(g, "Nuevos Entrantes", xCenter - width, yCenter - spacing - height - 20, Color.Red)
DrawArrow(g, xCenter - spacing, yCenter, xCenter - width, yCenter, Color.Blue) ' Poder de negociación de los proveedores
DrawSymbol(g, "Proveedores", xCenter - spacing - width - 50, yCenter - height, Color.Blue)
DrawArrow(g, xCenter + spacing, yCenter, xCenter + width, yCenter, Color.Green) ' Poder de negociación de los clientes
DrawSymbol(g, "Clientes", xCenter + spacing + width + 30, yCenter - height, Color.Green)
DrawArrow(g, xCenter, yCenter + spacing, xCenter, yCenter + height, Color.Orange) ' Amenaza de productos o servicios sustitutos
DrawSymbol(g, "Sustitutos", xCenter - width, yCenter + spacing + 20, Color.Orange)
DrawCircle(g, xCenter, yCenter, width, Color.Purple) ' Rivalidad entre empresas existentes
DrawSymbol(g, "Competidores", xCenter - width, yCenter + height + 20, Color.Purple)
End Sub
Private Sub DrawArrow(ByVal g As Graphics, ByVal x1 As Integer, ByVal y1 As Integer, ByVal x2 As Integer, ByVal y2 As Integer, ByVal color As Color)
Using pen As New Pen(color, 2)
g.DrawLine(pen, x1, y1, x2, y2)
' Dibujar las puntas de flecha
Dim arrowSize As Integer = 10
Dim angle As Single = Math.Atan2(y2 - y1, x2 - x1)
g.DrawLine(pen, x2, y2, x2 - CInt(arrowSize * Math.Cos(angle - Math.PI / 6)), y2 - CInt(arrowSize * Math.Sin(angle - Math.PI / 6)))
g.DrawLine