AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TChart Marks werden nur teilweise angezeigt
Thema durchsuchen
Ansicht
Themen-Optionen

TChart Marks werden nur teilweise angezeigt

Ein Thema von norwegen60 · begonnen am 6. Okt 2022 · letzter Beitrag vom 14. Okt 2022
Antwort Antwort
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
504 Beiträge
 
Delphi 12 Athens
 
#1

TChart Marks werden nur teilweise angezeigt

  Alt 6. Okt 2022, 14:30
Hallo zusammen,

ich will in TChart bei den Peaks einer Kurve die X-Werte per Marker anzeigen. Das funktioniert auch teilweise, aber es werden nur wenige Marker wirklich angezeigt. Sobald ich in das Chart weiter rein zoome, werden weitere Peaks korrekt gemarkt. (s. Bilder) D.h. die Erkennung der Peaks läuft korrekt, es sieht aber so aus, als hätte TChart Bedenken, dass sich Texte überlappen obwohl genügend Platz ist.

Hat jemeand eine Idee, was ich einstellen könnte, dass mehr Marker angezeigt werden?
Ich habe schon lsSeries.Marks.AutoSize auf True/False gesetzt und lsSeries.Marks.Width := 10. Beides hatte keinen positiven Effekt

Ich markiere per folgendem Code:
Delphi-Quellcode:
var
  lsSeries: TChartSeries;

begin
  ...
  lsSeries.Marks.Visible := True;
  lsSeries.Marks.Transparent := True;
  lsSeries.Marks.Style := smsXValue;
  lsSeries.Marks.Arrow.Color := clBlack;
  lsSeries.Marks.ArrowLength := 24;

  for i := 0 to Value.Count do
  begin
    lsSeries.Marks[i].Visible := False; // Zunächst Marks auf unvisible setzen
  
    if Value[i] = Peak then
      lsSeries.Marks[i].Visible := True;
  end;
Grüße
Gerd
Miniaturansicht angehängter Grafiken
allvalues.png   zoomedvalues.png  
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#2

AW: TChart Marks werden nur teilweise angezeigt

  Alt 6. Okt 2022, 14:42
Wenn Peak seinen Wert innerhalb der Schleife nicht ändert, dann kann ich mir nicht erklären, wie deine Bilder zustande kommen. Nach dem Code sollten alle Marker den gleichen Wert (Peak) zeigen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
504 Beiträge
 
Delphi 12 Athens
 
#3

AW: TChart Marks werden nur teilweise angezeigt

  Alt 6. Okt 2022, 14:55
Der Code zur Peak-Erkennung ist symbolisch gemeint.
Wie gesagt, die Erkennung läuft korrekt, nur die Darstellung nicht.
Ich gebe die Koordinaten der Peaks auch in ein Memo aus und da sind alle Peaks drin.
Wenn der Code nicht funktionieren würde, würde ja auch ein Zoom nichts helfen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#4

AW: TChart Marks werden nur teilweise angezeigt

  Alt 6. Okt 2022, 15:05
Zitat:
QUOTE=Uwe Raabe;1512904
[edit] war falsch [/edit]

Eventuell werden Werte/Peaks weggelassen, wenn sie zu dicht beieinander sind?
Zumindestens die ersten Beiden, aus dem Zoom, liegen ungezoomt ja teilweise fast übereinander.


und kein -1?
for i := 0 to Value.Count do
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 6. Okt 2022 um 15:10 Uhr)
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
504 Beiträge
 
Delphi 12 Athens
 
#5

AW: TChart Marks werden nur teilweise angezeigt

  Alt 6. Okt 2022, 18:45
Vielleicht hätte ich zur Ermittlung ob Peak oder nicht mehr Code zeigen sollen, aber das ist gar nicht das Problem. Und natürlich ist es Count - 1 . Sorry.

Aber das Problem bleibt:
Die Peaks werden korrekt mit Markern versehen. Sonst würde ich sie im Zoom ja nicht sehen. Es gibt keine Zusatzfunktion/Neuberechnung beim Zoom.
Und ich vermute auch dass es was damit zu tun hat, dass TChart meint sie lägen zu nah beieinander.

Trotzdem ist doch genügend Platz in der Gesamtansicht um mehr als zwei Marks anzuzeigen.
Wenn ich den Screen vergrößere, kommt vielleicht noch ein oder zwei dazu. Trotzdem weit davon entfernt, dass sich Marks überschneiden
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#6

AW: TChart Marks werden nur teilweise angezeigt

  Alt 6. Okt 2022, 23:47
Es könnte eine unglückliche Kombination von Auto Position und Draw every sein.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
504 Beiträge
 
Delphi 12 Athens
 
#7

AW: TChart Marks werden nur teilweise angezeigt

  Alt 13. Okt 2022, 11:18
Ich habe mal beide Settings per GUI editierbar gemacht
Mark.AutoPosition hatte keinerlei Auswirkung auf die angezeigten Werte. Nur darauf, ob Wert mal etwas weiter oben oder unten stand
Mark.DrawEvery hat auch nur minimale Auswirkungen. Bis 6, keine Auswirkung, darüber verschiebt sich mal das Mark von einem Peak zu einem anderen. Meist bleiben es aber 2 Marks auf dem gesamten Chart. Bei 11 dann mal 5 Werte statt sonst nur 2. Bei 12 waren es dann wieder zwei

Selbst wenn man das Form kleiner oder größer zieht, bleibt es meist bei den beiden gleichen Marks obwohl genügend Platz ist.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#8

AW: TChart Marks werden nur teilweise angezeigt

  Alt 13. Okt 2022, 11:43
Dann wäre Steema wohl die nächste Anlaufstelle.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
504 Beiträge
 
Delphi 12 Athens
 
#9

AW: TChart Marks werden nur teilweise angezeigt

  Alt 13. Okt 2022, 12:47
Das dachte ich auch schon
Danke trotzdem
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
504 Beiträge
 
Delphi 12 Athens
 
#10

AW: TChart Marks werden nur teilweise angezeigt

  Alt 14. Okt 2022, 09:27
Ich habe eine Lösung gefunden.
Ich erzeuge für die Peaks eine eigene TPointSeries. Damit funktioniert die Markierung korrekt und zusätzlich werden die Peaks auch noch visuell als Punkt dargestellt.
Zuvor hatte ich ja die komplette TLineSeries.Marks.Visible := False; gesetzt und dann nur die betroffenen Punkte per TLineSeries.Marks[i].Visible := True; aktiviert. TeeChart beachtet bei der Platzermittlung für die Marks wohl nicht dass die meisten Marks deaktiv sind.
Miniaturansicht angehängter Grafiken
peaks.png  
  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 00:35 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