AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TChart: Säulendiagramm Legende mit Zahlenwerten
Thema durchsuchen
Ansicht
Themen-Optionen

TChart: Säulendiagramm Legende mit Zahlenwerten

Ein Thema von AstridZ · begonnen am 27. Mär 2014 · letzter Beitrag vom 28. Mär 2014
Antwort Antwort
AstridZ

Registriert seit: 11. Mai 2011
Ort: Frankenberg/Sa.
7 Beiträge
 
Delphi 6 Enterprise
 
#1

TChart: Säulendiagramm Legende mit Zahlenwerten

  Alt 27. Mär 2014, 15:56
Hallo,

ich arbeite mit Delphi 6 und TChart.

Dabei habe ein Tortendiagramm mit der Legende Farbe - Text - Anzahl.

Weiterhin habe ich ein gestapeltes Säulendiagramm (Anhang).

Hier ist die Legende leider nur Farbe - Text, obwohl unter Textstil-Legende eingestellt ist, auch die Anzahl anzuzeigen (Rechts, Wert).

Es ist nicht gewünscht, Februar 8 und März 10 zu sehen, sondern die Anzahl der im ganzen Jahr auftretenden Fälle nach Farben, also rot - Text1 3, grün - Text2 40 ...

Ich würde vermuten, dass das nicht geht, da jede Säule einzeln übergeben wird und Delphi intern das nicht addiert. Muss ich selbst addieren und die Werte mit als Text übergeben oder gibt es doch eine Einstellung, dass das automatisch geht?

Danke für jede Hilfe.
Miniaturansicht angehängter Grafiken
hist.png  

Geändert von AstridZ (27. Mär 2014 um 16:03 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther
Online

Registriert seit: 6. Mär 2013
6.158 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: TChart: Säulendiagramm Legende mit Zahlenwerten

  Alt 27. Mär 2014, 17:19
Ich komme nicht hinterher, wie jetzt das nicht sichtbare Tortendiagramm oder Datumsangaben da mit hinein spielen.

Wenn ich es richtig verstehe ist dein Kernproblem folgendes (siehe Bild im Anhang): Die Legende im Tortendiagramm hat für jedes einzelne Item: Farbe, absolute Anzahl, Name).
Du möchtest in deinem Doppel-Balkendiagramm in der Legende zwei Einträge, also einen für jeweils eine Serie. Jeder Eintrag soll sein Farbe, Summe aller Einträge, Freitext.

Du kannst in der Legende deines Charts den Legend Style auf Series Names stellen- Damit taucht schonmal nur ein Eintrag für jede Serie auf. Den Text der nun für jede Serie angezeigt wird kannst du bei der jeweiligen Serie unter General -> Legend -> Text manuell einstellen. Im Code scheint das bei einer Serie die Eigenschaft LegendTitle zu sein.

Und um die jetzt festzulegen müsstest du dir schon selber den Text zusammenstellen. Also auch die Summe aller Items selbst bestimmen. Was jetzt bei Delphi 6 für eine TeeChart-Version dabei war weiß ich nicht. So ist es jedenfalls bei mir.
Miniaturansicht angehängter Grafiken
unbenannt.png  
  Mit Zitat antworten Zitat
AstridZ

Registriert seit: 11. Mai 2011
Ort: Frankenberg/Sa.
7 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: TChart: Säulendiagramm Legende mit Zahlenwerten

  Alt 28. Mär 2014, 10:15
Danke für deine Antwort. Du hast das Problem richtig erkannt.

Die Legende selbst habe ich, nur eben leider ohne Zahlenwert. Beim Tortendiagramm wird dieser automatisch davorgesetzt, deshalb hatte ich das erwähnt.

Die Frage war, ob man auch beim Histogramm das ohne selber zu rechnen hinkriegt. Da man in meinem Fall alles mögliche dynamisch zur Laufzeit konfigurieren können muss, wollte ich mir eine weitere Liste mit den Summen sparen. Aber wenn ich dich richtig verstehe, komme ich nicht drum herum, selber zu summieren und im Text mitzugeben.

(olBar.Items[iCount] as TBarSeries).Title := GetDiagrammText; -> aus GetDiagrammText müsste dann noch die Summe mit zurück kommen
Miniaturansicht angehängter Grafiken
histo.png   torte.png  
  Mit Zitat antworten Zitat
Der schöne Günther
Online

Registriert seit: 6. Mär 2013
6.158 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: TChart: Säulendiagramm Legende mit Zahlenwerten

  Alt 28. Mär 2014, 10:34
Die Summe der Werte ist ja einfach mit deineChartSerie.YValues.Total in Erfahrung gebracht

Hat dein Delphi/TeeChart keine LegendTitle -Eigenschaft zusätzlich zur Title -Eigenschaft?


Beispiel:
Delphi-Quellcode:
procedure TForm25.FormCreate(Sender: TObject);
const
   numSamples: Integer = 15;
var
   series: TChartSeries;
   chartValue: TChartValueList;
   valueNum: Integer;
begin

   chart1.SeriesList.FillSampleValues(numSamples);

   for series in chart1.SeriesList do
      series.LegendTitle := series.Name +': Total ' + series.YValues.Total.ToString();

end;
Miniaturansicht angehängter Grafiken
form25_2014-03-28_10-31-27.png  

Geändert von Der schöne Günther (28. Mär 2014 um 10:37 Uhr)
  Mit Zitat antworten Zitat
AstridZ

Registriert seit: 11. Mai 2011
Ort: Frankenberg/Sa.
7 Beiträge
 
Delphi 6 Enterprise
 
#5

AW: TChart: Säulendiagramm Legende mit Zahlenwerten

  Alt 28. Mär 2014, 11:48
Yippie! Es geht! Vielen vielen Dank.
Ich wusste nicht, dass es die Eigenschaft "Total" bei den YValues gibt. Das ist die Lösung.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz