Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TChart Marker/Point verstecken (https://www.delphipraxis.net/211200-tchart-marker-point-verstecken.html)

DieDolly 12. Aug 2022 18:00


TChart Marker/Point verstecken
 
Ich komme gerade leider nicht weiter und Google hat leider auch nichts.

Kann man bzw. wie kann man zur Laufzeit einen Punkt auf einer Series verstecken?
Ich möchte in einer Series nur Punkte anzeigen, die sich innerhalb eines Anfangs- und Enddatums befinden.
Jeder Punkt in meinem Chat ist entweder rot, grau oder grün.

Ist sowas möglich? Wenn nicht, kann man die visuell so weit abändern, dass man diese von den anderen zweifelsfrei unterscheiden kann?

Ich habs mal hiermit versucht aber da passiert nichts

Delphi-Quellcode:
var
 i, j: Integer;
begin
 for j := 0 to Chart1.SeriesList.Count - 1 do
  begin
   for i := 0 to Chart1.Series[j].Count - 1 do
    begin
     Chart1.Series[j].Marks[i].Hide;
    end;
  end;

 Chart1.Invalidate;

Der schöne Günther 12. Aug 2022 20:13

AW: TChart Marker/Point verstecken
 
Liste der Anhänge anzeigen (Anzahl: 2)
Jede Serie hat ein
Delphi-Quellcode:
OnGetMarkText
-Event:

Delphi-Quellcode:
procedure TForm1.Series1GetMarkText(
   Sender: TChartSeries;
   ValueIndex: Integer;
   var MarkText: string
);
begin
   if(isFibonacci(ValueIndex)) then
      MarkText := ValueIndex.ToString() + '!'
   else
      MarkText := String.Empty;
end;

DieDolly 13. Aug 2022 06:29

AW: TChart Marker/Point verstecken
 
Ganz ausblenden kann TChart nicht?

Der schöne Günther 14. Aug 2022 13:48

AW: TChart Marker/Point verstecken
 
Du hast gefragt, wie man einzelne Punkte ausblenden kann. Wenn du generell keine Marks anzeigen möchtest gibt es einfach
Delphi-Quellcode:
Marks.Visible := False

PaPaNi 15. Aug 2022 13:40

AW: TChart Marker/Point verstecken
 
Ich hoffe, dass ich die Frage richtig verstanden habe...
Ich mache das so (mit den TLineSeries, aber vielleicht hilft es bei den anderen Seriestypen):

Code:
var
CurSeries: TLineSeries;
...
if IsNan(CurY) then
  CurSeries.AddNullXY(CurX, 0)   // hier wird kein Punkt dargestellt
else
  CurSeries.AddXY(CurX, CurY);   // hier wird ein Punkt mit dem aktuellen Points-Style angezeigt (use psNothing, so werden alle Punkten unsichtbar)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:57 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