• Domingo 22 de Diciembre de 2024, 12:19

Autor Tema:  Re: graficar en visual con ms chart  (Leído 2467 veces)

karen81

  • Miembro MUY activo
  • ***
  • Mensajes: 119
    • Ver Perfil
Re: graficar en visual con ms chart
« en: Martes 9 de Septiembre de 2003, 23:46 »
0
Hola quisiera saber como se grafica con el control MSchart por ejemplo la funcion Y=sinX.

gracias.:comp:
No basta tener buen ingenio; lo principal es aplicarlo bien.

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: graficar en visual con ms chart
« Respuesta #1 en: Miércoles 10 de Septiembre de 2003, 10:17 »
0
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.

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
graficar en visual con ms chart
« Respuesta #2 en: Miércoles 10 de Septiembre de 2003, 11:25 »
0
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.