Dann würde ich das Problem zerlegen.
1.) Thread und Bitmap bauen, so dass laufend Zufallswerte erzeugt werden, die flüssig gezeichnet und "gescrollt" werden können.
2.) Zoom dynamisch anpassen
3.) echte Werte statt Zufallswerte darstellen
Grundsätzlich würde ich für die einzelnen Werte Striche nebeneinander zeichnen.
Delphi-Quellcode:
for I := 0 to Values.Count - 1 do
begin
Value:=Values[X];
PaintBox1.Canvas.MoveTo(I, PaintBox1.Height - Value);
PaintBox1.Canvas.LineTo(I, PaintBox1.Height); // bis unten zeichnen
end;
So zum Einstieg könnte das passen.
Die Anzahl der gesammelten Werte musst Du dann an die Breite der Paintbox anpassen und ältere Werte verwerfen.
Ist etwas schwierig, etwas zu empfehlen, weil mir noch nicht klar ist, wo Du wirklich Hilfe brauchst.