Delphi-PRAXiS
Seite 2 von 2     12   

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 mit mehreren Bars (https://www.delphipraxis.net/182773-tchart-mit-mehreren-bars.html)

Der schöne Günther 18. Nov 2014 12:18

AW: TChart mit mehreren Bars
 
Definiere "Debuggen"- Der TeeChart-Quelltext ist nicht dabei, den muss man kaufen. Das hast du wahrscheinlich nicht getan.

Gibt es denn nun ein Problem oder überrascht es dich nur, nicht durch den Quellcode der TeeChart-Methoden steppen zu können?

VkPenguin 18. Nov 2014 15:12

AW: TChart mit mehreren Bars
 
Ich meinte einfach den Programmstart mit Quelltexthaltepunkten (F9). Ja, das wirds dann wohl sein, ok. Entschuldigt dann bitte die dumme Frage, ich hab mein XE7 ganz neu und war mir dessen nicht bewusst.

Also aber zurück zum eigentlichen Thema: Ja, es gibt ein Problem. Ich schicke euch mal den Quelltext meines Testprogramms:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, VclTee.TeeGDIPlus, VCLTee.TeEngine,
  VCLTee.Series, Vcl.StdCtrls, Vcl.ExtCtrls, VCLTee.TeeProcs, VCLTee.Chart;

type
  TForm1 = class(TForm)
    Chart1: TChart;
    Button1: TButton;
    Series1: THorizBarSeries;
    Series2: THorizBarSeries;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
With Series1 do
begin
  Add (5, 'Pears', clRed);
  Add (4, 'Apples', clRed);
  Add (4, 'Oranges', clRed);
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
With Series2 do
begin
  Add (5, 'Pears', clBlue);
  Add (6, 'Apples', clBlue);
  Add (16, 'Oranges', clBlue);
end;
end;

end.
Was ich erwartet hätte/möchte:
Programmstart - leerer Chart (funktioniert)
Button1Click - Drei rote Balken, alle über die volle Länge, da es ja noch keine anderen Daten gibt, die Werte also jeweils 100% entsprechen (funktioniert)
Button2Click - Die drei Balken sollen jetzt 50/50,40/60,20/80 Verhältnisse anzeigen (stattdessen überlagern sich die Balken scheinbar, nur die Achsenskalierung ändert sich, aber der Balken bleibt 100% rot).

Wo liegt der Fehler?:?: Es scheint jedenfalls immer so zu sein, dass die Rote Serie die Blaue überlagert, anstatt sich zu ergänzen...

Danke! :)

ByTheTime 18. Nov 2014 18:23

AW: TChart mit mehreren Bars
 
Liste der Anhänge anzeigen (Anzahl: 3)
Moin,
schau dir mal die drei Grafiken im Anhang an, so sieht dein Code bei mir aus, was du allerdings erwartet hast, ist das TChart die Berechnung der Daten für dich übernimmt, oder?

Ich bin mir nicht sicher ob das (vorallem mit der Lite Version) so einfach geht. Man kann aber im Editor (bei Datenquelle war das glaube ich) Funktionen auswählen, vllt. solltest du da mal reinschauen. Oder wenn du die Daten aus einer DB beziehst, könntest du deine Daten für die Serien aus kalkulierten Feldern nehmen.

Allerdings bin kein TChart Experte Mehr als ein paar einfache Daten anzuzeigen, habe ich mit der TChart Lite auch nicht gemacht. Vllt. hat noch jemand eine elegantere Lösung parat.

Edit: Oder du schreibst die selbst eine kleine Funktion, die ausgehend von den Werten der Serie 1, die Werte für Serie 2 berechnet. Wobei das aber wahrscheinlich nicht das ist, was du erreichen willst.

VkPenguin 18. Nov 2014 21:29

AW: TChart mit mehreren Bars
 
Hm, genau so hätte ich es gerne (abgesehen davon, dass ich es lieber als Balken untereinander hätte und als "Stack100%"), seltsam.. Hast du eine Erklärung dafür, warum es bei mir anders ist? Ist vielleicht irgendeine TChart-Einstellung falsch?

*Edit*: Ich hab das Tchart einfach gelöscht und ein neues erstellt, ohne etwas im Code zu ändern - jetzt gehts! Das verstehe ich zwar nicht so ganz, aber jetzt gehts ja... Vielen Dank! :-) Ich versuche jetzt mal, es auf das eigentliche Programm zu übertragen, melde mich nocheinmal, falls es Probleme gibt.

ByTheTime 18. Nov 2014 21:37

AW: TChart mit mehreren Bars
 
XE7 Trial, TChart Lite, TChart Komponente auf die Form, bei 3D auf 2D umgestellt und dann die Serien dazu.
Eigentlich mache ich das am liebsten alles zur Laufzeit, weil ich dann den Überblick behalte. Ziehe vllt. nochmal zum Testen eine "frische" Chart auf deine Form.

Aber ansonsten bin ich da ein bisschen überfragt :(

Dejan Vu 19. Nov 2014 04:53

AW: TChart mit mehreren Bars
 
TChart hat so dermaßen viele Optionen, das man beim frustrierten Rumgeklicke und Ausprobieren schnell mal irgendwo ein Häkchen setzt, was dann -wenn es eigentlich funktionieren sollte- im Weg ist.
Zitat:

Zitat von ByTheTime (Beitrag 1280254)
Eigentlich mache ich das am liebsten alles zur Laufzeit, weil ich dann den Überblick behalte.

:thumb: Das beste Gegenmittel gegen o.g. Frust.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:27 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz