AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE TChart Darstellung von Labels in X-Achse
Thema durchsuchen
Ansicht
Themen-Optionen

TChart Darstellung von Labels in X-Achse

Ein Thema von Friday · begonnen am 16. Sep 2014 · letzter Beitrag vom 18. Sep 2014
Antwort Antwort
Friday

Registriert seit: 6. Mai 2008
101 Beiträge
 
Delphi 11 Alexandria
 
#1

TChart Darstellung von Labels in X-Achse

  Alt 16. Sep 2014, 17:29
Hallo,
ich habe ein Balkendiagramm bei dem ich in der X-Achse mittels der Labels Eigenschaft chart1.series[i].Add(Array, Label); für jeden Balken einen eigenen Namen vergebe.
Nun ist es aber so, dass wenn zuviele Balken in einem Diagramm sind, bzw. die Labels zu lang, dann werden einige einfach nicht dargestellt.
Umgehen kann man das mit TChart.Axes.Bottom.LabelsAngle := 90; Ist allerdings nicht sehr leserlich, deshalb würde ich die Beschriftung gerne nur vertikal machen, wenn sonst Labels nicht dargestellt werden.

Die eigentliche Frage also: Wie kann ich zur Laufzeit erfragen ob einzelne Labels versteckt werden?
Oder bleibt nur die Möglichkeit das selbst zu berechnen und dann "vermuten" ?
  Mit Zitat antworten Zitat
Der schöne Günther

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

AW: TChart Darstellung von Labels in X-Achse

  Alt 16. Sep 2014, 17:52
Gute Frage. Ich wüsste auch nicht wie. Hast du ein laufendes Abo und kannst die Frage direkt im Steema-Forum stellen? Wenn nicht kann ich das auch tun

Ich hätte nur zwei, drei dumme Ideen:
  • Einmal könnte man wenigstens noch etwas herausholen in dem man die Labels auf zwei Zeilen verteilt (siehe Bild 1). Multi-Line oder Alternate oder so hieß die Einstellung bei der Achse.
  • Weiterhin kann man auch mit Gewalt alle Label anzeigen aber damit wird man wohl auch nicht glücklich (siehe Bild 2): Min-Separation auf 0% und Style auf Mark
  • Ansonsten würde ich vielleicht die Beschriftung unten weglassen, die Balken alle unterschiedlich färben und eine Legende rechts daneben packen
  • Oder beim Überfahren mit der Maus mit einem Mark die Beschriftung einblenden
Miniaturansicht angehängter Grafiken
1.png   2.png  
  Mit Zitat antworten Zitat
Friday

Registriert seit: 6. Mai 2008
101 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: TChart Darstellung von Labels in X-Achse

  Alt 17. Sep 2014, 08:47
Hallo Günther,
das sind schonmal wertvolle Tipps. Mir war bis dato gar nicht klar dass die Legende auch die Werte anzeigen kann
Mit Style auf Mark auf Seperation auf 0% wird auch alles angezeigt. Und bei einem Winkel von 45° gäbe es auch keine Überschneidungen, bloss berechnet TChart die notwendigen Abstände nicht mehr richtig. Die Labels fangen unten in einem nicht sichtbaren Bereich an und überlappen dann in die X-Achsen-Beschriftung und sogar ins Diagramm hinein. Mit TChart.Panel.Margin kann man den unteren Bereich zwar manuell vergrößern, dass die Labels im sichtbaren Bereich anfangen, dennoch überblenden sie den X-Achsen-Titel. (Und die Legende überblenden sie auch wenn diese unten angeordnet ist, wie in meinem Fall)

Nein bei Steema habe ich kein laufendes Abo. Wenn du dort direkt die Frage stellen könntest wär das natürlich toll.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#4

AW: TChart Darstellung von Labels in X-Achse

  Alt 17. Sep 2014, 09:48
Die Frage lautet doch auch: Wenn so viele Balken mit Beschriftungen sichtbar sind, ist da nicht etwas faul bezüglich der Übersichtlichkeit?

Nicht umsonst fässt ist die 80/20 Regel verbreitet (Pareto) oder auch 'Top 10'. Im Prinzip ist es so, das man nur die wichtigsten Elemente anzeigt und den Rest unter 'Sonstiges' zusammenfässt. Die 'Sonstigen' kann man auch in einem zweiten Chart noch einmal detailliert anzeigen.

Das geht natürlich nicht immer, z.B. wenn man die Umsätze aller 78 Warengruppen anzeigen will und die halbwegs gleichverteilt sind. Auf der anderen Seite: Wer wird eigentlich schlau aus einem Chart mit 78 Balken? Hier gilt es, zu gruppieren (stacked bars z.B.) oder Gruppensummen zu zeigen und dann für die einzelnen Gruppen jeweils einzelne Charts.

Ich habe z.B. bei einer Fehleranalyse im Prinzip das gleiche Problem. Ich überlasse es hier aber dem Kunden, einzelne Fehler auszublenden und nur die Top X (X frei wählbar) anzuzeigen, wobei der Rest dann unter 'Other' fällt.

Das geht natürlich nicht immer: Bei einer ABC-Analyse von Fehlerhäufigketen habe ich jedoch ein ähnliches Problem. Dort ist jeder Balken waagerecht angeordnet, und seine Fehlerbeschreibung steht links davon. Nur diese Beschreibung ist ein halber Roman à la 'Sensorschlonztrommel A/B12-XY 15 verwurbelt nicht mit Verwutzung 42,13. Der Chybichevabstand beträgt nicht 0.56 frmzl.'. Die Analyse ist schon auf die Top 8 beschränkt bzw. bis 80% erreicht ist, was 3-6 Fehlern entspricht. Trotzdem fehlen manchmal die mehrzeiligen Beschriftungen. Wenn ich die Achse dagegen verschiebe, passt alles rauf.

Abhilfe (ohne Scheiß): Den Chart dehnen, bis alles raufpasst. Manuell. Der Anwender ist ja nicht doof.

Wenn das bei Dir aber nicht der Fall ist, und Du einfach zu viel Informationen anzeigst, würde ich hier ansetzen: Das ist einfach nicht übersichtlich und verständlich.


PS: Das Steema-Forum ist nicht alles. Es gibt auch noch Stackoverflow.
  Mit Zitat antworten Zitat
Der schöne Günther

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

AW: TChart Darstellung von Labels in X-Achse

  Alt 18. Sep 2014, 11:02
Um nochmal auf die konkrete Frage zurückzukommen: Die Eigenschaft Items.Count einer Achse sagt dir, wieviele Label sichtbar sind. Das war zu einfach

Yeray hat nochmal ein schönes Beispiel dazu gepostet.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#6

AW: TChart Darstellung von Labels in X-Achse

  Alt 18. Sep 2014, 11:11
Das ist zu einfach. Das *kann* einfach nicht die Lösung sein.

Wenn ich mir überlege, wie lange ich an meiner ABC-Geschichte rumgedoktort habe und wie sehr mich das genervt hat.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#7

AW: TChart Darstellung von Labels in X-Achse

  Alt 18. Sep 2014, 11:16
*Pfh* Komponentenhersteller, die mitdenken... wo bleibt denn da die Herausforderung?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#8

AW: TChart Darstellung von Labels in X-Achse

  Alt 18. Sep 2014, 11:20
Das ist bei Steema nicht normal. Deren Komponenten ist auch vom Quelltext her ziemlich chaotisch. Da kommt man im Leben nicht drauf, das die mitdenken. Aber gut. Spanier halt. Irgendwie dann doch sehr breitbandig. Zwischen Kreisklasse und weltmeisterlich.
  Mit Zitat antworten Zitat
Friday

Registriert seit: 6. Mai 2008
101 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: TChart Darstellung von Labels in X-Achse

  Alt 18. Sep 2014, 16:31
Um nochmal auf die konkrete Frage zurückzukommen: Die Eigenschaft Items.Count einer Achse sagt dir, wieviele Label sichtbar sind. Das war zu einfach

Yeray hat nochmal ein schönes Beispiel dazu gepostet.
da hab ich wohl vor dem Posten keine ausreichende Recherche betrieben. Schande über mich

Und danke für die Antwort.
  Mit Zitat antworten Zitat
Der schöne Günther

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

AW: TChart Darstellung von Labels in X-Achse

  Alt 18. Sep 2014, 17:12
Naja, also ich bin auch nicht drauf gekommen und habe deshalb bei Steema nachgefragt...
  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 12:15 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