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/)
-   -   Delphi TChart: 2D anstatt 3D (https://www.delphipraxis.net/189196-tchart-2d-anstatt-3d.html)

Helmi 15. Mai 2016 15:19


TChart: 2D anstatt 3D
 
Hallo,

ich füge mit diesem Code dem TChart eine Datenmenge zur Verfügung:

Delphi-Quellcode:
var
  FGraph: TLineSeries;

begin
  FGraph := TLineSeries.Create(DBChart_Filter);

  FGraph.ParentChart := DBChart_Filter;

  FGraph.XLabelsSource := 'Uhrzeit';
  FGraph.YValues.ValueSource := 'TempSensor_1';
  FGraph.ShowInLegend := false;
  FGraph.Color := clRed;

  FGraph.DataSource := ClientDataSet;
  DBChart_Filter.LeftAxis.Automatic := true;
end;
Im TChart wird auch ein Graph angezeigt, nur im 3D-Modus.
Schalte ich im OI vom TChart "View3D" auf false, so ist zwar TChart erst mal in 2D,
aber sobald ich den Code oben ausführe, ist wieder alles 3D.

Wie kann ich generell auf 2D umschalten?

Der schöne Günther 15. Mai 2016 15:56

AW: TChart: 2D anstatt 3D
 
Kann ich nicht nachvollziehen (mit 10.1) - Wenn ich einem (leeren) 2D-Chart eine TLineSeries hinzufüge bleibt der auch 2D. Du nimmst anscheinend einen TDBChart und irgendein ClientDataSet. Ich habe keine Ahnung was man damit machen muss und bekomme es nicht ans Laufen, kannst du ein Minimalbeispiel posten?

Helmi 15. Mai 2016 16:06

AW: TChart: 2D anstatt 3D
 
diese Procedure ist eigentlich schon alles:

Delphi-Quellcode:
procedure TMainForm.Filter_setzen(const aktiv: Boolean; const Datum: TDate);
var
  FGraph: TLineSeries;

begin
  //Filter setzen
  ClientDataSet.Filter := 'Datum = ' + QuotedStr(DateToStr(Datum));
  ClientDataSet.Filtered := aktiv;

  DBChart_Filter.ClearChart;

  If aktiv then
    begin
      FGraph := TLineSeries.Create(DBChart_Filter);

      FGraph.ParentChart := DBChart_Filter;

      FGraph.XLabelsSource := 'Uhrzeit';
      FGraph.YValues.ValueSource := 'TempSensor_1';
      FGraph.ShowInLegend := false;
      FGraph.Color := clRed;

      FGraph.DataSource := ClientDataSet;
      DBChart_Filter.LeftAxis.Automatic := true;
    end;
end;
In der Datenbank gibt es eine Spalte "Datum" und eine "TempSensor_1".

Helmi 16. Mai 2016 13:29

AW: TChart: 2D anstatt 3D
 
ich glaub ich hab den Fehler gefunden.

Bislang hab ich jedesmal, wenn sich der Filter geändert hat, die vorhandenen Graphen gelöscht und neu definiert.
Jetzt definier ich nur noch einmal.

Jetzt bleibt auch die 2D-Ansicht erhalten, wenn ich "View_3D" auf false setze und einen Filter setze.


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