Liniengraphik mit VB 2008

OP (Firma: Keine) #2945439
Lesenswert?

Hallo Zusammen,

ich messe Temperaturen und würde sie gerne auf einem Formular, wie im 
Bild zu sehen ist, online anzeigen. Zuerst dachte ich: "Das ist ja ganz 
einfach" ...

Dazu würde ich gerne VB2008 einsetzen. Ich  habe inzwischen .NET und die 
GD Libary installiert. Ich hoffe das war schon einmal richtig. Irgendwo 
hatte ich zwischenzeitlich noch gelesen, dass man einen "Datencontainer" 
benötigt. Leider kein Bookmark gesetzt ... Ich bin vom vielen Suchen 
bereits völlig durcheinander und komme einfach nicht weiter. Muß ich 
noch eine weitere Libary einbinden? Wenn ja welche?

Es genügt völlig, wenn ich eine Messung pro Sekunde anzeige. Die 
Messdaten erhalte ich vom Atmega8 via Getadc(0). Mit Print bekomme ich 
derzeit die Werte am Monitor angezeigt. Das funktioniert auch bereits 
ganz prima.

Wie bekomme ich nun die Daten in die Graphik. Es würde genügen wenn ich 
die Daten von etwa 4h anzeigen könnte. Ich stelle mir vor, dass beim 
Start die Graphik leer ist und jede Sekunde ein Datenpunkt hinzukommt. 
Die Zeitskalierung kann immer gleich bleiben, auch wenn es mir eine 
dynamische Skalierung besser gefallen würde. (z.B. werden nur die vom 
Benutzer gewüschten 60s angezeigt werden, also laufend am Anfang einen 
Punkt entfernen und am Ende einen Punkt anhängen oder so ähnlich)

Hat vielleicht jemand einen entsprechenden Code, oder einen Link auf ein 
Tutorial bzw Code. Über kluge Hinweise würde ich mich freuen. Ich möchte 
nicht das Rad neu erfinden müssen. Ich muß auch nicht unbedingt die 
genannte Lib benutzen wenn es einen einfacheren, besseren Wege gibt.

Gruß Alfred
Angehängte Dateien:
Gast #2946296
Lesenswert?

Das war zwar nicht ganz die passende Seite, aber so habe ich die 
richtigen Hinweise bekommen. Ich habe nun einen VB Code generiern 
können, mit dem ich ganz zufrieden bin. Die Ausgabe wird im Anhang 
gezeigt. Als nächstes sollen dann "echte" Daten vom Atmega8 angezeigt 
werden. Ich bin schon auf die nächsten "Probleme" gespannt. 
(Datenformat, Flimmern, ...)



Public Class Form1

       Dim Start
        Dim Ziel

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

        Start = 1
        Ziel = 20

        Me.Chart1.Series.Clear()
        Chart1.Series.Add("SinX")
        Chart1.Series("SinX").ChartType = 
DataVisualization.Charting.SeriesChartType.Line


        For I = Start To Ziel Step 0.2

            Chart1.Series("SinX").Points.AddXY(I, Math.Sin(I))
            'Chart1.Series("SinX").Points.

        Next I

        Start = Ziel
        Ziel = Ziel + 20


    End Sub


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Button1.Click
        For I = Start To Ziel Step 0.2
            Chart1.Series("SinX").Points.AddXY(I, Math.Sin(I))
        Next I

        Start = Ziel
        Ziel = Ziel + 20

    End Sub


End Class
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren