![]() |
Re: Säulendiagramm
Wenn du deiner Chart-Komponente mehrere Balken-Serien hinzufügst, dann musst du deren Eigenschaft MultiBar auf mbNone setzen, damit du die gewünschte Darstellung erhältst.
Im Chart-Editor wechsle von Diagramm auf Reihen und betrachte die RadioGroup "Mehrfach-Balken". |
Re: Säulendiagramm
Danke, der Tip war gut!
Jetzt bleibt nur noch ein Problem. Wie kann ich jetzt die "Y-Achse" beschriften so das ich wie auf dem Bild zu sehen 3 Beschriftungen habe. (siehe erster Beitrag) Gruß Sebastian |
Re: Säulendiagramm
Die Y-Achse ist die am linken Rand (Chart.VertAxis). Bei dir hat sie ein Increment (Steigung) von 5 und wahrscheinlich sogar eine automatische Skalierung.
Was genau willst du verändern? |
Re: Säulendiagramm
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe mal ein Bild zur Verdeutlichung eingefügt. Oben der derzeitige Zustand, unten so wie ich es benötige. Ich brauche im Prinzip eine zusätzliche Achseninformation. Gruß Sebastian |
Re: Säulendiagramm
Du könntest die Achsenbeschriftung für die DepthAxis auf Text umstellen und in der Methode OnGetAxisLabel den gewünschten String übergeben.
|
Re: Säulendiagramm
Hallo,
könntest du das noch etwas konkretisieren?
Delphi-Quellcode:
chart1.DepthAxis. ? : = ?
|
Re: Säulendiagramm
Klar.
Du setzt DepthAxis.LabelStyle auf talText und stellst einen event handler für OnGetAxisLabel bereit:
Delphi-Quellcode:
procedure TDemoForm.DemoChartGetAxisLabel(Sender: TChartAxis;
Series: TChartSeries; ValueIndex: Integer; var LabelText: String); begin if Sender = TChartAxis(DemoChart.DepthAxis) then case ValueIndex of 0: LabelText := 'Serie 1'; 1: LabelText := 'Serie 2'; 2: LabelText := 'Serie 3'; else LabelText := '???'; end; end; |
Re: Säulendiagramm
Liste der Anhänge anzeigen (Anzahl: 1)
Vielen Dank schonmal!
Habe das jetzt wie folgt programmiert:
Delphi-Quellcode:
Die Ausgabe sieht dann aus wie im BIld zu sehen. Also ohne
implementation
{$R *.dfm} procedure TForm14.Chart1GetAxisLabel(Sender: TChartAxis; Series: TChartSeries; ValueIndex: Integer; var LabelText: string); begin if Sender = TChartAxis(Chart1.DepthAxis) then case ValueIndex of 0: LabelText := 'Serie 1'; 1: LabelText := 'Serie 2'; 2: LabelText := 'Serie 3'; else LabelText := '???'; end; end; procedure TForm14.FormCreate(Sender: TObject); begin chart1.DepthAxis.LabelStyle:=taltext; chart1.Series[0].Add(10,'1',clred); chart1.Series[1].Add(20,'2',clblue); chart1.Series[2].Add(20,'3',clgreen); end; die gewünschten Beschriftungen. Habe ich etwas vergessen? |
Re: Säulendiagramm
Guten Morgen,
ok es hat jetzt funktioniert. Ich hatte vergessen die Depth Axis auf sichtbar zu schalten. Gruß Sebastian |
Re: Säulendiagramm
Moin,
du hast die Achsenbeschriftung noch nicht sichtbar gemacht:
Delphi-Quellcode:
Bei deinem Beispiel wird deutlich, dass die kleinen Werte im Hintergrund mit der orthogonalen Darstellung schlecht sichtbar sind. Im Chart-Editor kannst du auf der 3D-Seite des Diagramms diese Eigenschaft abschalten und mit den Reglern für Drehung und Erhöhung spielen.
procedure TForm14.FormCreate(Sender: TObject);
begin with Chart1 do begin DepthAxis.LabelStyle := talText; // besser im Chart-Editor DepthAxis.Visible := True; // besser im Chart-Editor Series[0].Add(10, '1', clred); Series[1].Add(20, '2', clblue); Series[2].Add(20, '3', clgreen); end; end; Wenn du mal nicht weißt, wie du eine Einstellung im Chart-Editor auch in deinem Code vornehmen kannst oder wenn dich die Intuition mal verlässt: Alle Änderungen gegenüber den Standardeinstellungen werden im Object Inspector durch BoldText hervorgehoben. Zusätzlich kannst du einen charakteristischen Zahlenwert im Chart-Editor einstellen und diesen in der Textdarstellung deiner Form suchen. Freundliche Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz