AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TChart "Gestapelte Säulen"

Offene Frage von "Sko"
Ein Thema von Sko · begonnen am 27. Nov 2007 · letzter Beitrag vom 9. Jan 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Sko
Sko

Registriert seit: 11. Sep 2005
327 Beiträge
 
Turbo Delphi für Win32
 
#1

TChart "Gestapelte Säulen"

  Alt 27. Nov 2007, 13:53
Hallo,

ich muss mich gerade ein bisschen mit TChart rumschlagen und möchte ein Diagramm mit gestapelten Säulen erstellen. Geht das? Und wenn ja, wie? Ich hab mal ein Bild angehangen wie das werden soll. Es soll dargestellt werden wieviele Einheiten eines Materials in einem bestimmten Zeitraum für ein Produkt aufgewendet worden ist. Die Werte sind alle da und richtig, ich weis jetzt nur nicht wie ich die in das Chart bekommen soll. Über den Designer kann ich das nicht machen, da man zwischen verschiedenen Auswertungen wählen kann und dann je nach Auswahl unterschiedliche Diagramme erzeugt werden müssen. Ich hoffe ihr könnt mir helfen, vielen Dank schonmal.
Miniaturansicht angehängter Grafiken
chart_204.jpg  
MfG Sko
Zitat von Phoenix:
[OT]Phoenix guckt in die Glaskugel, zuckt mit den Flügelspitzen, krächzt etwas von wegen 'Boden' und 'Scherben' und schubbst die Kugel in Richtung Tischkante.[/OT]
Rockbox
  Mit Zitat antworten Zitat
soulies

Registriert seit: 9. Dez 2005
234 Beiträge
 
#2

Re: TChart "Gestapelte Säulen"

  Alt 27. Nov 2007, 14:10
hi,

wenn ich es richtig verstanden habe dann würde ich je nach material eine eigene bar-series benutzen

die kannst du ja dann hintereinander zeichnen lassen mit unterschiedlichen farben - sollte kein problem sein


-> also bei 3 Materialien = 3 Bar Series

dann erste zeichnen, dann zweite dann dritte ...

wenn du die y-werte aufrechnest kannst du ja zum max_y der erste series den wert der zweiten dazu addieren usw.
denn solltest du das ganze auch gestaffelt hinbekommen



cya
  Mit Zitat antworten Zitat
Benutzerbild von Sko
Sko

Registriert seit: 11. Sep 2005
327 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: TChart "Gestapelte Säulen"

  Alt 27. Nov 2007, 14:18
Ok, ich werd das mal ausprobieren, danke
MfG Sko
Zitat von Phoenix:
[OT]Phoenix guckt in die Glaskugel, zuckt mit den Flügelspitzen, krächzt etwas von wegen 'Boden' und 'Scherben' und schubbst die Kugel in Richtung Tischkante.[/OT]
Rockbox
  Mit Zitat antworten Zitat
Benutzerbild von hincapie
hincapie

Registriert seit: 24. Mär 2005
200 Beiträge
 
Delphi 5 Professional
 
#4

Re: TChart "Gestapelte Säulen"

  Alt 27. Nov 2007, 14:22
Hier, aus dem Demo zu TChart, Auswahl der darstellung mit einer Radiogroup:
Delphi-Quellcode:
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  { Four ways to plot bar Series: }
  Case RadioGroup1.ItemIndex of
    0: LineSeries1.MultiBar:=mbNone;
    1: LineSeries1.MultiBar:=mbSide;
    2: LineSeries1.MultiBar:=mbStacked;
    3: LineSeries1.MultiBar:=mbStacked100;
  end;
end;
So wie Du es haben willst, ist es mbStacked.

Die LineSeries lass ich mir per Quelltext füllen, etwa so:
Delphi-Quellcode:
    for k := 0 to RecCount -1 do
    begin
      Value := Irgendein Integer-Wert
      LineSeries1.AddY(Value, Irgendein Datum, clRed);
    end;
    for l := 0 to RecCount -1 do
    begin
      Value := Irgendein anderer Integer-Wert
      LineSeries2.AddY(Value, Irgendein Datum, clGreen);
    end;
  Mit Zitat antworten Zitat
SaltJohn

Registriert seit: 9. Jun 2008
43 Beiträge
 
#5

Re: TChart "Gestapelte Säulen"

  Alt 9. Jan 2009, 09:10
Guten Morgen,

also ich habe etwas sehr ähnliches vor. Genauer gesagt möchte ich ein Balkendiagramm mit horzontal verlaufenden Balken darstellen, die wie oben erwähnt gestückelt/gestapelt sind. Habe mir über die Toolpalette ein Chart aufs Form gezogen das soweit auch funktioniert, doch leider komme ich mit dem Codeschnipsel unten nicht ganz zurecht. LineSeries1.MultiBar:=mbStacked; wird jedenfalls so nicht erkannt.
  Mit Zitat antworten Zitat
WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#6

Re: TChart "Gestapelte Säulen"

  Alt 9. Jan 2009, 09:33
Hallo,

also ich hatte das mal so gelöst, dass ich 2 Series erzeugt, beiden den gleich x-Wert zugewiesen und
einem der beiden Balken die Summe aus beiden y-Werten zugewiesen hatte
(das ganze lief über ne DB, also nicht wegen dem Query wundern):

Delphi-Quellcode:
with DBCPuni_dbchart do
    Begin
      Series[0].Title :='roter Anteil' ;
      Series[0].SeriesColor :=clred ;
      Series[0].ValueFormat:='Wert1 1';
      Series[0].AddY((ZQuery1.fieldbyname('k').AsFloat+
                      ZQuery1.fieldbyname('x').AsFloat),
           formatdatetime('mm-yy',ZQuery1.fieldbyname('Datum').AsDateTime),
           (clred));
      Series[1].Title :='grüner Anteil' ;
      Series[1].SeriesColor :=clgreen ;
      Series[1].ValueFormat:='Wert 2';
      Series[1].AddY((ZQuery1.fieldbyname('x').AsFloat),
           formatdatetime('mm',ZQuery1.fieldbyname('Datum').AsDateTime),
           (clgreen));

    end;
MFG
Steffen
Miniaturansicht angehängter Grafiken
chart_171.jpg  
  Mit Zitat antworten Zitat
SaltJohn

Registriert seit: 9. Jun 2008
43 Beiträge
 
#7

Re: TChart "Gestapelte Säulen"

  Alt 9. Jan 2009, 10:16
Also irgendwo steh ich noch auf dem Schlauch. Bin ein wenig irritiert wo genau die Grenzen sein sollen.

Hier habe ich den unteren Teil des Balkens
Delphi-Quellcode:
Series[1].AddY((ZQuery1.fieldbyname('x').AsFloat),
           formatdatetime('mm',ZQuery1.fieldbyname('Datum').AsDateTime),
           (clgreen));
und hier den Aufsatz
Delphi-Quellcode:
Series[0].AddY((ZQuery1.fieldbyname('k').AsFloat+
                      ZQuery1.fieldbyname('x').AsFloat),
           formatdatetime('mm-yy',ZQuery1.fieldbyname('Datum').AsDateTime),
           (clred));
Weiß jetzt nicht genau wie ich das auf meine Daten übertrage. Möchte auf der x-Achse die Zeit auftragen und auf der Y-Achse sollen der Reihe nach die gestapelten Balken konstruiert werden. Leider funktioniert das noch nicht so richtig.
normalerweise sollte doch folgendes genügen

Series[0].AddY(Zeit1,'Balken1',clred); normalerweise sollte doch
Series[1].AddY(Zeit1 + Zeit2,'Balken1',clgreen); Aber irgendwie kommt bei mir nur Gulasch dabei rum.
  Mit Zitat antworten Zitat
WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#8

Re: TChart "Gestapelte Säulen"

  Alt 9. Jan 2009, 10:30
Ich bin nicht sicher, ob es zwischen einem TChart und einem TDBChart diesbezüglich Unterschiede gibt.
Weißt du vorher, wieviele Balken gestapelt werden sollen?
Die Grenzen legst du mit der Eigenschaft Maximum fest..bei deinem Beispiel also:

DBCPuni_dbchart.LeftAxis.Maximum:=zeil1+tzeit2+Platz_nach_oben;
Zeig doch ggf. mal einen Screenshot


MFG
Steffen
  Mit Zitat antworten Zitat
SaltJohn

Registriert seit: 9. Jun 2008
43 Beiträge
 
#9

Re: TChart "Gestapelte Säulen"

  Alt 9. Jan 2009, 11:01
Also ich habs jetzt mal spasshalber auf vertikale Balken gestellt und jetzt scheint es zu funktionieren. Scheinbar muss man da noch etwas beachten wenn man die Balken horizontal darstellen möchte. Könntest du evtl. mal bei gelegenheit probieren ob eine solche Umschaltung bei dir funktioniert?
  Mit Zitat antworten Zitat
WIng2005

Registriert seit: 20. Mär 2006
Ort: Thüringen
388 Beiträge
 
Delphi XE Starter
 
#10

Re: TChart "Gestapelte Säulen"

  Alt 9. Jan 2009, 11:13
Ahhhhh, wenn du deine Balken horizontal darstellen willst, geht mein Beispiel natürlich nicht (das war für vertikale Darstellung).Versuche mal die Zuordnung zur Balken zu tauschen

also nicht
Series[0].AddY(Zeit1,'Balken1',clred); sondern

Series[0].AddY('Balken1',Zeit1,clred); MFG
Steffen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:32 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