TChart - Balken beschriften
spacer
Autor Nachricht
Dhakiyah
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 278
Erhaltene Danke: 5

WinXP
Delphi 2007, C++ (in der Schule)
BeitragVerfasst: Mo 23.01.12 15:09 
Hallo!
Ich habe ein kleines Balkendiagramm, an dem ich die Werte an die Balken zusätzlich schreiben möchte.
Siehe Beispiel Bild "1500"

Aber wie geht das ???

ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure Tfrm_mdi_statistik.Draw_Chart;
var tc_ser: THorizBarSeries;
begin
ch_statistik.Title.Text.Clear;
ch_statistik.Title.Text.Add('Allgemeine Zeitstatistik');
tc_ser := THorizBarSeries.Create(ch_statistik);
ch_statistik.AddSeries(tc_ser);
tc_ser.Marks.Visible := False;
tc_ser.Title := 'Urlaub';
tc_ser.AddXY(30,1,'Gearb. Stunden',clred);
tc_ser.AddXY(80,2, 'Urlaub', clblue);
tc_ser.AddXY(90,3, 'Krankheit', clgreen);
end;


EDIT:
ODER den Wert IN den Balken schreiben, wäre auch möglich.

Die x-Achse sind %.
Einloggen, um Attachments anzusehen!
_________________
Es gibt Tage, an denen hat man Pech und es gibt Tage, an denen die anderen Glück haben !!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
guinnes
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 173
Erhaltene Danke: 9



BeitragVerfasst: Mo 23.01.12 17:38 
Warum schaltest du nicht einfach die Marks ein ?
Einloggen, um Attachments anzusehen!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Dhakiyah Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 278
Erhaltene Danke: 5

WinXP
Delphi 2007, C++ (in der Schule)
BeitragVerfasst: Di 24.01.12 09:57 
Das wäre dann aber wieder so, wie ich es nicht haben wollte...

Bei der y-Achse sollten die Beschreibungen stehen 'Urlaub, Krankheit, etc.'
Die x-Achse ist das ganze in % und an die Balken wollte ich dran schreiben, welcher Wert dahinter steht.

Geht das nicht?

_________________
Es gibt Tage, an denen hat man Pech und es gibt Tage, an denen die anderen Glück haben !!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
guinnes
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 173
Erhaltene Danke: 9



BeitragVerfasst: Di 24.01.12 10:18 
user profile iconDhakiyah hat folgendes geschrieben Zum zitierten Posting springen:
Geht das nicht?
Natürlich geht das so, du mußt nur die Eigenschaften dementsprechend einstellen. Ansonsten bleibt dir nur : Im OnAfterDrawValues selber zeichnen
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Dhakiyah Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 278
Erhaltene Danke: 5

WinXP
Delphi 2007, C++ (in der Schule)
BeitragVerfasst: Di 24.01.12 10:29 
ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
  ch_statistik.Title.Text.Clear;
ch_statistik.Title.Text.Add('Allgemeine Zeitstatistik');
tc_ser := THorizBarSeries.Create(ch_statistik);
ch_statistik.AddSeries(tc_ser);
tc_ser.Marks.Visible := True;
tc_ser.AddXY(110,1,'Gearb. Stunden', clblue);
tc_ser.AddXY(50,2,'1444',clred);
tc_ser.AddXY(30,3, 'Urlaub', clgreen);


So, jetzt schreibt er an die y-Achse UND an den Balken den Text. In der Legende steht dann der %-Wert...
Ich weiß nicht was ich machen muss/soll/kann... :cry: :cry: :cry:
Einloggen, um Attachments anzusehen!
_________________
Es gibt Tage, an denen hat man Pech und es gibt Tage, an denen die anderen Glück haben !!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
guinnes
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 173
Erhaltene Danke: 9



BeitragVerfasst: Di 24.01.12 10:37 
Als 1. solltest du Marks.Style auf smsValue stellen ( oder auf smsPercent oder smsPercentTotal, jenachdem, was dir lieber ist), dann noch Marks.Arrow.Visible auf false, Marks.Transparent auf true und Marks.Frame.Visible auf False
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Dhakiyah Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 278
Erhaltene Danke: 5

WinXP
Delphi 2007, C++ (in der Schule)
BeitragVerfasst: Di 24.01.12 10:43 
Das habe ich gemacht.
Aber es ist immer noch nicht so, wie ich es möchte.
Ich kann immer nur 2 Werte anzeigen, ich brauche aber 3.
Jetzt schreibt er zwar die Werte an die Balken dran, aber den %-Wert, den ich ja schon in der x-Achse habe.
Ich möchte aber an den Balken den tatsächlichen WErt dran schreiben, z.B. "1750 STunden"

_________________
Es gibt Tage, an denen hat man Pech und es gibt Tage, an denen die anderen Glück haben !!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
guinnes
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 173
Erhaltene Danke: 9



BeitragVerfasst: Di 24.01.12 10:47 
user profile iconguinnes hat folgendes geschrieben Zum zitierten Posting springen:
Ansonsten bleibt dir nur : Im OnAfterDrawValues selber zeichnen
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Dhakiyah Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 278
Erhaltene Danke: 5

WinXP
Delphi 2007, C++ (in der Schule)
BeitragVerfasst: Di 24.01.12 10:50 
Und wie geht das?
Hab da gar keine Erfahrung mit, mache zum ersten Mal was mit Diagrammen..... :cry: :cry: :cry:

_________________
Es gibt Tage, an denen hat man Pech und es gibt Tage, an denen die anderen Glück haben !!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
guinnes
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 173
Erhaltene Danke: 9



BeitragVerfasst: Di 24.01.12 11:31 
Du schreibst einen EventHandler für das Ereigniss AfterDrwaValues deiner Serie. Darin zeichnest auf die Canvas deines Charts. Das ist nicht Diagrammspezifisch, sondern einfach nur ein Zeichnen auf eine Canvas.

Alternativ kannst du den Event OnGetMarkText der Serie benutzen, um in den Marks anzuzeigen, was immer du willst
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Dhakiyah Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 278
Erhaltene Danke: 5

WinXP
Delphi 2007, C++ (in der Schule)
BeitragVerfasst: Di 24.01.12 15:12 
Ich habe es heraus gefunden, es geht über eine TStrings Liste:

ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
var s_krank, s_urlaub, s_gearb: TStrings;
...
...
...
s_krank := TStringList.Create;
s_urlaub := TStringList.Create;
s_gearb := TStringList.Create;
s_krank.Add('500');
s_urlaub.Add('200');
s_gearb.Add('1750');
tc_ser.Marks.Item[0].text := s_gearb;
tc_ser.Marks.Item[1].text := s_krank;
tc_ser.Marks.Item[2].text := s_urlaub;
Einloggen, um Attachments anzusehen!
_________________
Es gibt Tage, an denen hat man Pech und es gibt Tage, an denen die anderen Glück haben !!!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home