none
Graficar en VB (Tiempo Real) RRS feed

  • Pregunta

  • Hola!

    Me gustaria saber si alguien conoce de alguna manera de graficar en VB rapidamente..he graficado usando Chart y timer pero requiero mayor velocidad. Agradezco de antemano su ayuda..Gracias!


    Mitzuko -.-

    • Cambiado Enrique M. Montejo jueves, 30 de junio de 2016 6:35 Pregunta relacionada con controles de Windows Forms.
    lunes, 27 de junio de 2016 19:22

Todas las respuestas

  • Tal vez te sirva

    WinForms Chart Control - Full Featured C# Charts in 2D-3D‎


    Jhonatan Plata http://kayprogramacion.blogspot.com/

    lunes, 27 de junio de 2016 22:59
  • HOLA!

    Ya lo he checado pero no entiendo como lo agrego a un form..


    Mitzuko -.-

    jueves, 30 de junio de 2016 18:32
  • Hola Mitzuko -.-

    Puedes usar el ChartView de Telerik, es muy ágil y configurable para ello tienes que descargar e instalar la versión de prueba aquí: 

    Telerik WinForms

    y te dejo un pequeño ejemplo para que realices un gráfico de manera rápida:

    Ejemplo ChartView

    Espero te sea de ayuda.


    Javier

    jueves, 30 de junio de 2016 18:47
  • Mil gracias!!!..lo voy a probar! 


    Mitzuko -.-

    jueves, 30 de junio de 2016 19:15
  • no lo puedo agregar a mi programa :( me causa conflictos

    Mitzuko -.-

    viernes, 1 de julio de 2016 15:17
  • Hola a tdos!

    estoy trabajando con graficas, uso Chart pero al momento de graficar sufre un retraso, por ejemplo si grafico 2 datos en 1 seg no hay problema pero necesito graficar minimo 10 en un segundo y es cuando ocurre el retraso...alguien me pudiese decir como se modifica la velocidad del Chart para que sea mas rapido o alguna otra herramienta para graficar.

    Gracias!!


    Mitzuko -.-

    viernes, 1 de julio de 2016 15:26
  • Muéstranos los conflictos

    Javier

    viernes, 1 de julio de 2016 15:34
  • Tienes que estar haciendo algo mal, muy mal. Una pc hoy hace en un segundo lo que la pc original hacía en 1 hora (o dos, o tres).

    Muestra tu código para ver si tienes un cuello de botella. O dinos alguna cosa de él. Sino esto es un ridículo  intercambio de textos.

    • Propuesto como respuesta José De Alva viernes, 1 de julio de 2016 15:54
    viernes, 1 de julio de 2016 15:43
  • Los datos los recibo con el socket de otro dispositivo y los guardo en un .txt y en esto no hay retraso,..solo cuando agrego la grafica empiezan los problemas...la verdad es que soy nueva en esto y he hecho esto con la ayuda de ustedes, su ayuda me es muy valiosa!

    de antemano gracias!

    'LIBRERIAS NECESARIAS
    Imports System.Net
    Imports System.Net.Sockets
    Imports System.Threading

    Public Class Form1

    #Region "Variables"

        'Socket UDP
        Public Socket As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
        Public HiloEscucha As Thread
        Public HiloGrafica As Thread
        Public DatoUDP As String = ""
        Public Saliendo As Boolean = False

        Public cadena(5) As String
        Public Mensaje As String = ""
        Dim A1 As Integer = 0
        Dim A2 As Integer = 0
        Dim A3 As Integer = 0
        Dim A4 As Integer = 0
        Dim datos As String = 0
        Dim CONTADOR_DE_DATOS As Integer
        Dim StrBufferEntrada As String

        'Direccion par guardar todos los datos que se reciben
        Dim UBICACION = My.Computer.FileSystem.SpecialDirectories.Desktop & "/GRAFICA.txt"


    #End Region

        ' Se declara el delegado para acesar al cuadros de texto ychaart en formulario principal
        Private Delegate Sub DelegadoAcceso(ByVal AdicionarTexto As String)

    #Region "Métodos y Procedimeintos"

        'Metodo para mostrar los datos en ventana principal 
        Private Sub AccesoFormPrincipal(ByVal TextoForm As String)

            StrBufferEntrada = Val(TextoForm)


            'Contador para graficar solo una muestra de datos
           
                If AXIAL1.Series(0).Points.Count > 50 Then
                    AXIAL1.Series(0).Points.RemoveAt(0)
                Else
                    ' Graficamos
                    AXIAL1.Series("AXIAL").Points.AddXY("", StrBufferEntrada)
                    TextBox1.Text = StrBufferEntrada

          

                End If
           
            End If


        End Sub

        'Acceso  a la interrupcion para la recepcion  
        Private Sub PuertaAccesoInterrupcion(ByVal BufferIn As String)
            Dim TextoInterrupcion() As Object = {BufferIn}
            Dim DelegadoInterrupcion As DelegadoAcceso
            DelegadoInterrupcion = New DelegadoAcceso(AddressOf AccesoFormPrincipal)
            MyBase.Invoke(DelegadoInterrupcion, TextoInterrupcion)
        End Sub

        Public Sub Graficar()
        End Sub

        Public Sub ReciboDatos()

            Try
                Dim IPRemota As New IPEndPoint(IPAddress.Any, 0)
                Dim IPLocal As EndPoint = CType(IPRemota, EndPoint)
                Dim RecibirByte(1500) As Byte
                Dim DatoRecibido As String = ""

                Do Until Saliendo

                    Socket.ReceiveFrom(RecibirByte, 0, 1500, SocketFlags.None, IPLocal)
                    DatoRecibido = System.Text.Encoding.Default.GetString(RecibirByte)
                    DatoUDP = DatoRecibido
                    '    TextBox1.Text = DatoUDP

                    'Guardo los datos en un .txt en el escritorio
                    My.Computer.FileSystem.WriteAllText(UBICACION, vbCrLf & "grafica: " & DatoUDP, True)

                    '   ListBox1.Items.Add(DatoRecibido)



                    For i As Integer = 0 To 1500
                        RecibirByte(i) = Nothing
                    Next

                    Dim DatoInterrupcion As String
                    DatoInterrupcion = DatoUDP

                    PuertaAccesoInterrupcion(DatoInterrupcion)


                Loop

            Catch ex As Exception

            End Try

        End Sub


    #End Region

        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

            Try
                'se crea el hilo para recibir los datos
                Socket.Bind(New IPEndPoint(IPAddress.Any, "20"))
                HiloEscucha = New Thread(AddressOf ReciboDatos)
                HiloEscucha.Start()

            Catch ex As Exception

            End Try


        End Sub

        Private Sub AXIAL1_Click(sender As Object, e As EventArgs) Handles AXIAL1.Click
            Me.SetStyle(ControlStyles.DoubleBuffer And ControlStyles.AllPaintingInWmPaint, True)
            Me.SetStyle(ControlStyles.UserPaint, True)

        End Sub
    End Class

                                

    Mitzuko -.-

    viernes, 1 de julio de 2016 15:54
  • hola!! si estoy mal???

    Mitzuko -.-

    viernes, 1 de julio de 2016 17:21