SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: karen81 en Martes 9 de Septiembre de 2003, 23:46

Título: Re: graficar en visual con ms chart
Publicado por: karen81 en Martes 9 de Septiembre de 2003, 23:46
Hola quisiera saber como se grafica con el control MSchart por ejemplo la funcion Y=sinX.

gracias.:comp:
Título: Re: graficar en visual con ms chart
Publicado por: Brroz en Miércoles 10 de Septiembre de 2003, 10:17
Hola Karen81.

Desconozco cómo realizar gráficas de funciones con el control MsChart, pero a continuación, por si te sirve, te detallo cómo representar funciones gráficamente de una forma muy sencilla.

Añade al formulario un PictureBox (Picture1) y dale una forma cuadrada (no indispensable). Añade también un CommandButton. A continuación incluye el siguiente código para el CommandButton:

Private Sub Command1_Click()
   
    Picture1.Cls
    Picture1.Scale (-10, 10)-(10, -10) '20x20
    Picture1.Line (-10, 0)-(10, 0) 'EjeX
    Picture1.Line (0, 10)-(0, -10) 'EjeY
    Picture1.Font.Name = "Small Fonts"
    Picture1.Font.Size = 6
    Dim int1 As Integer
    For int1 = -10 To 10 'Divisiones de los ejes
        Picture1.Line (int1, 0.1)-(int1, -0.1)
        If int1 <> 0 Then Picture1.Print int1
        Picture1.Line (-0.1, int1)-(0.1, int1)
        Picture1.Print int1
    Next int1
   
    Dim dbl1 As Double, X As Double, Y As Double
    X = -10
    Y = Sin(-10)
    For int1 = -10 To 10
        dbl1 = Sin(int1) 'Función a representar
        Picture1.Line (X, Y)-(int1, dbl1), vbRed
        X = int1
        Y = dbl1
    Next int1
   
    Picture1.Refresh
   
End Sub

Sencillo, ¿no?
Aunque no responde a tu solicitud, espero que tal vez sirva para lo que necesitas.

Suerte.
Título: graficar en visual con ms chart
Publicado por: Brroz en Miércoles 10 de Septiembre de 2003, 11:25
Acabo de volver a ver el ejemplo que te escribí y éste se puede mejorar bastante con unas pequeñas modificaciones:

Private Sub Command1_Click()
    Picture1.Cls
    Picture1.Scale (-10, 10)-(10, -10) '20x20
    Picture1.Line (-10, 0)-(10, 0) 'EjeX
    Picture1.Line (0, 10)-(0, -10) 'EjeY
    Picture1.Font.Name = "Small Fonts"
    Picture1.Font.Size = 6
    Dim dblX As Double
    For dblX = -10 To 10 'Divisiones de los ejes
        Picture1.Line (dblX, 0.1)-(dblX, -0.1)
        If dblX <> 0 Then Picture1.Print dblX
        Picture1.Line (-0.1, dblX)-(0.1, dblX)
        Picture1.Print dblX
    Next dblX
    Dim dblY As Double
    For dblX = -10 To 10 Step 0.01
        dblY = Sin(dblX)
        Picture1.PSet (dblX, dblY), vbRed
    Next dblX
    Picture1.Refresh
End Sub

Es un poco más lento (Step 0.01) pero más real, sobre todo con funciones como la tangente.

Suerte.