Delphi-PRAXiS
Seite 1 von 2  1 2      

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 TeeChart Farb-Problem (https://www.delphipraxis.net/151493-teechart-farb-problem.html)

interminator 20. Mai 2010 09:20


TeeChart Farb-Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo.

Ich möchte aus meiner MySQL-Datenbank eine Umsatzstatistik nach Monaten mit TeeChart verwirklichen, soweit so gut.
Allerdings möchte ich die negativen Umsätze ( alle unter <0 ) in einer anderen Farbe darstellen, was mir nicht wirklich gelingt.
Hat jemand vielleicht eine Idee ??

mfg
int.

mkinzler 20. Mai 2010 09:31

Re: TeeChart Farb-Problem
 
Es gibt wohl keine automatische Funktion. Du müsstest "Color Each" aktivieren und dann manuell die Farbe vorgeben (Wenn negativ dann rot sonst ...)

interminator 20. Mai 2010 09:37

Re: TeeChart Farb-Problem
 
danke für die schnelle Antwort.

soweit war ich schon (wenn negativ dann rot).
nur wie setze ich das um?
ich meine, wie erkläre ich dem TeeChart das NEGATIVE ?

mfg.
int.

mkinzler 20. Mai 2010 09:52

Re: TeeChart Farb-Problem
 
Wie gesagt es gibt wohl keine Automatik.
Wie setzt du die Werte?

interminator 20. Mai 2010 10:40

Re: TeeChart Farb-Problem
 
Delphi-Quellcode:
        1: begin
             Query1.Sql.Text :=
               'select'+
               '  DATE_FORMAT(ReDATUM,"%m.%Y") as Datum,'+
               '  ROUND(SUM(u.NetSUMME),2) as UMSATZ_GES'+
               ' from'+
               '  umsatz u'+
               ' where'+
               '  u.QUELLE IN (1,2) and'+
               '   u.STADIUM<7 and'+
               '  u.ReDATUM>= :ZV and u.ReDATUM <=:ZB'+
               ' group by'+
               '  YEAR(u.ReDATUM),'+
               '  MONTH(u.ReDATUM)'+
               ' order by'+
               '  YEAR(u.ReDATUM),'+
               '  MONTH(u.ReDATUM)'+
               ' LIMIT 0,100';
             Query1.ParamByName('ZV').AsDateTime :=Int(ZVon.Date);
             Query1.ParamByName('ZB').AsDateTime :=Int(ZBis.Date);
             Query1.Open;
             BarSerie :=tBarSeries.Create (Self);
             with BarSerie do
             begin
                ParentChart :=DBChart1;
                Active := False;
                Marks.ArrowLength := 20;
                Marks.Style := smsValue;
                Marks.Visible := True;
                DataSource := Query1;
                PercentFormat := '##0 %';
                SeriesColor := 56576;
                ShowInLegend := False;
                ValueFormat := ',#';
                VertAxis := aRightAxis;
                XLabelsSource := 'D';
                BarBrush.Color := clWhite;
                BarPen.Visible := False;
                BarWidthPercent := 65;
                XValues.DateTime := False;
                XValues.Name := 'X';
                XValues.Multiplier := 1;
                XValues.Order := loAscending;
                YValues.DateTime := False;
                YValues.Name := 'Balken';
                YValues.Multiplier := 1;
                YValues.Order := loNone;
                YValues.ValueSource := 'UMSATZ_GES';
             end;
             DBChart1.AddSeries (BarSerie);
             BarSerie.Active :=True;
             DBChart1.View3DOptions.Orthogonal :=True;
             DBChart1.Title.Text.Text :=_('Umsatz pro Monat');
           end;

interminator 20. Mai 2010 12:47

Re: TeeChart Farb-Problem
 
keiner ne Idee ? :cry:

ULIK 20. Mai 2010 13:20

Re: TeeChart Farb-Problem
 
Probier's mal mit ColorRange:

Delphi-Quellcode:
BarSerie :=tBarSeries.Create (Self);
...
BarSerie.ColorRange(BarSerie.YValues, -100000 , 0, clGreen);

interminator 20. Mai 2010 13:45

Re: TeeChart Farb-Problem
 
bringt leider nicht das gewünschte ergebnis :wall:

madas 20. Mai 2010 13:58

Re: TeeChart Farb-Problem
 
Delphi-Quellcode:
property ValueColor[Index: Integer]: TColor;
von TBarSeries vielleicht???

ULIK 20. Mai 2010 14:16

Re: TeeChart Farb-Problem
 
Zitat:

Zitat von interminator
bringt leider nicht das gewünschte ergebnis :wall:

Soll heißen? Ich hab's grad nochmal mit deinem Code ausprobiert und da geht das sehr wohl:

Delphi-Quellcode:
  BarSerie :=tBarSeries.Create (Self);
  with BarSerie do
  begin
    ParentChart :=DBChart1;
    Active := False;
    Marks.ArrowLength := 20;
    Marks.Style := smsValue;
    Marks.Visible := True;
    DataSource := IBCTable1;
    PercentFormat := '##0 %';
    SeriesColor := 56576;
    ShowInLegend := False;
    ValueFormat := ',#';
    VertAxis := aRightAxis;
    XLabelsSource := 'ID';
    BarBrush.Color := clWhite;
    BarPen.Visible := False;
    BarWidthPercent := 65;
    XValues.DateTime := False;
    XValues.Name := 'ID';
    XValues.Order := loAscending;
    XValues.ValueSource := 'ID';
    YValues.DateTime := False;
    YValues.Name := 'AMount';
    YValues.Order := loNone;
    YValues.ValueSource := 'AMOUNT';
    ColorRange(YValues, -100000, 0, clRed); // Das hier färbt's rot unter Teechart 7.10 / Delphi 2007
  end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:43 Uhr.
Seite 1 von 2  1 2      

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