Nicht schlecht!!
Wenn du die Methoden DrawGrid, DrawGraph und DrawBars so änderst, dass sie ein TCanvas-Objekt übergeben bekommen:
Delphi-Quellcode:
procedure DrawGrid(ACanvas:TCanvas);
procedure DrawGraph(ACanvas:TCanvas);
procedure DrawBars(ACanvas:TCanvas);
dann sparst du noch etwas Zeit weil dann nicht immer FGraphBit.Canvas ausgewertet werden muss.
Zusätzlich sieht es auch im Sourcecode besser aus.
Als Anregung hätte ich noch, dass der Graph optional auch "gefüllt" gezeichnet werden könnte.
Siehe Anhang.