Live Graph, Live Plot unter C++ (wxWidgets)

Persönliche Seite #1481373
Lesenswert?

Hallo,
Ich nehme zur Zeit Daten über eine serielle Schnittstelle (in einem 
extra Thread) entgegen und möchte diese gerne auf einer bestimmten 
Fläche graphisch als Plot darstellen. Dabei soll der Plot live 
aktualisiert werden und dabei nach rechts wandern.

Das Fenster soll aber resizable sein und auch die X Auflösung soll 
einstellbar sein. Die Skalierung in Y Richtung natürlich sowieso.

Das Ganze unter wxWidgets. Im Moment benutze ich wxPlotCtrl, aber das 
scheint teilweise nicht so ganz gut geeignet zu sein für Live Plots.
Deshalb wollte ich mir ein eigenes Control bauen.
Soweit so gut, leider fehlt mir der Ansatz.
Also, wann allokiere ich wie viel Speicher. Was passiert beim Resizen? 
Ein größerer Speicherblock wird angefordert, vom alten umkopiert und der 
alte wird gelöscht?

Hat schon mal jemand sowas selbst gebaut und kann ein paar hilfreiche 
Tipps geben? Nicht, dass ich mich da im falschen Konzept ver-renne.
Persönliche Seite #1481386
Lesenswert?

Erstmal würde ich das ganze aufteilen:

- Einmal die Daten erfassen in einer Struktur (xy koordinaten, 
verbindung der Punkte mit Linien, Strichstärken, Farben)
- Zeichnen auf Zeichenfläche. Soll das ganze skalieren bei 
größer/kleiner? Dann bei resize x und y skalierungsfaktor berechnen und 
neuzeichen, ebenso beim hinzufügen von Werten.

Wie das konkret aussehen soll kann ich dir leider nicht sagen da ich 
eher in Java als in C++ zuhause bin, habe aber soetwas ähnliches mal für 
das erstellen von Diagrammen aus Meßreihen gebaut, mit automatischer 
Achsenbeschriftung und Legende.

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