Hallo,
mit Hilfe einer ListChartSource möchte ich, wie hier beschrieben:
http://wiki.freepascal.org/TAChart_Tutorial:_BarSeries
die x-Achse beschriften. Dies funktioniert auch mit dem Datenpunkt-Editor (DataPoints editor) über den Objekt-Inspektor.
Aber ich muss die Achse aus dem Programm heraus beschriften.
Wie bekomme ich die Daten in den Editor?
Wer weiß Bescheid?
Gruß, Linkat
[gelöst] TAChart ListChartSource
-
- Lazarusforum e. V.
- Beiträge: 530
- Registriert: So 10. Sep 2006, 23:24
- OS, Lazarus, FPC: Linux Mint 21.3; Lazarus 3.0 FPC 3.2.2; RaspiOS
- CPU-Target: AMD 64, ARM 32
- Wohnort: nr Stuttgart
[gelöst] TAChart ListChartSource
Zuletzt geändert von Linkat am Fr 31. Mär 2017, 08:26, insgesamt 1-mal geändert.
Linux Mint 21; Lazarus 2.2.4 FPC 3.2.2; RaspiOS
Re: TAChart ListChartSource
Ich geb zu, das mit dem DatapointEditor ist etwas irreführend: als ich das Tutorial schrieb, war die Dateneingabe in die ListSource vorher in einem anderen Tutorial behandelt worden, da dachte ich mir: da schreibst du dasselbe nicht nochmal. In der Regel braucht man den DatapointEditor aber nicht, nur, wenn man die Daten gleich im Designmode sehen will.
OK: TListChartSource hat eine Methode
mit der du die Listsource direkt per Code befüllen kannst. Für die Anwendung als Achsenbeschriftung rate ich unbedingt, den x-Wert auch für y zu verwenden, sonst wird die gedrehte Achse bei waagrechten Balken nicht immer funktionieren.
OK: TListChartSource hat eine Methode
Code: Alles auswählen
function Add(AX, AY: Double; const ALabel: String = ''; AColor: TChartColor = clTAColor): Integer;
mit der du die Listsource direkt per Code befüllen kannst. Für die Anwendung als Achsenbeschriftung rate ich unbedingt, den x-Wert auch für y zu verwenden, sonst wird die gedrehte Achse bei waagrechten Balken nicht immer funktionieren.
Code: Alles auswählen
ListChartSource1.Add(1, 1, 'Q1');
ListChartSource1.Add(2, 2, 'Q2');
ListChartSource1.Add(3, 3, 'Q3');
ListChartSource1.Add(4, 4, 'Q4');
-
- Lazarusforum e. V.
- Beiträge: 530
- Registriert: So 10. Sep 2006, 23:24
- OS, Lazarus, FPC: Linux Mint 21.3; Lazarus 3.0 FPC 3.2.2; RaspiOS
- CPU-Target: AMD 64, ARM 32
- Wohnort: nr Stuttgart
Re: TAChart ListChartSource
Hallo,
vielen Dank wp_xyz für die prompte Hilfe.
Jetzt stehen die Bezeichner an der richtigen Stelle.
Aber zwei neue Probleme direkt im Anschluß:
1. In einem Chart wird zwischen einer LineSeries und der BoxAndWhiskerSeries umgeschalten.
Hierzu muss ich der property Chart1.Bottom.Marks.Style den Wert smsValue bzw. smsLabel zuweisen. Dies funktioniert im Objektinspektor. Aber aus dem Programm heraus nicht.
Ein ähnliches Problem hatte ich hier:
http://www.lazarusforum.de/viewtopic.php?f=18&t=10640
Aber ich wüsste nicht, welche unit hier fehlt.
2. Zum Umschalten von LineSeries auf BoxAndWhiskersSeries muss man der property Chart1.AxisList[1].Marks.Source die ListChartSource zuweisen, was auch vom Programm aus funktioniert. Wenn ich wieder zur LineSeries zurückspringe, muss ich die Zuweisung zur ListChartSource rückgängig machen. Wie mache ich das?
Gruß, Linkat
vielen Dank wp_xyz für die prompte Hilfe.
Jetzt stehen die Bezeichner an der richtigen Stelle.
Aber zwei neue Probleme direkt im Anschluß:
1. In einem Chart wird zwischen einer LineSeries und der BoxAndWhiskerSeries umgeschalten.
Hierzu muss ich der property Chart1.Bottom.Marks.Style den Wert smsValue bzw. smsLabel zuweisen. Dies funktioniert im Objektinspektor. Aber aus dem Programm heraus nicht.
Ein ähnliches Problem hatte ich hier:
http://www.lazarusforum.de/viewtopic.php?f=18&t=10640
Aber ich wüsste nicht, welche unit hier fehlt.
2. Zum Umschalten von LineSeries auf BoxAndWhiskersSeries muss man der property Chart1.AxisList[1].Marks.Source die ListChartSource zuweisen, was auch vom Programm aus funktioniert. Wenn ich wieder zur LineSeries zurückspringe, muss ich die Zuweisung zur ListChartSource rückgängig machen. Wie mache ich das?
Gruß, Linkat
Linux Mint 21; Lazarus 2.2.4 FPC 3.2.2; RaspiOS
Re: TAChart ListChartSource
(1) Die smsXXXX Aufzählung steht in der Unit TAChartUtils.
(2) Trage als Chart1.BottomAxis.Marks.Source den Wert nil ein.
(2) Trage als Chart1.BottomAxis.Marks.Source den Wert nil ein.
-
- Lazarusforum e. V.
- Beiträge: 530
- Registriert: So 10. Sep 2006, 23:24
- OS, Lazarus, FPC: Linux Mint 21.3; Lazarus 3.0 FPC 3.2.2; RaspiOS
- CPU-Target: AMD 64, ARM 32
- Wohnort: nr Stuttgart
Re: TAChart ListChartSource
Hallo wp_xyz,
vielen Dank für deine schnelle Hilfe.
TAChart ist eine so gute und mächtige Komponente, dass man (zumindest ich) oft den Wald vor lauter Bäumen nicht sieht. Auch seht positiv zu vermerken ist, dass die Tutorials über die Komponente im Wiki immer mehr und besser werden (wahrscheinlich zum großen Teil aus deiner Feder?).
Falls ich das Programm in den nächsten Tagen fertig bekommen sollte, dann überlege ich mir, ob ich es nicht sogar im Mai in Reinheim vorstelle.
Gruß, Linkat
vielen Dank für deine schnelle Hilfe.
TAChart ist eine so gute und mächtige Komponente, dass man (zumindest ich) oft den Wald vor lauter Bäumen nicht sieht. Auch seht positiv zu vermerken ist, dass die Tutorials über die Komponente im Wiki immer mehr und besser werden (wahrscheinlich zum großen Teil aus deiner Feder?).
Falls ich das Programm in den nächsten Tagen fertig bekommen sollte, dann überlege ich mir, ob ich es nicht sogar im Mai in Reinheim vorstelle.
Gruß, Linkat
Linux Mint 21; Lazarus 2.2.4 FPC 3.2.2; RaspiOS