AGB  ·  Datenschutz  ·  Impressum  







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

Fläche auf TChart einfärben

Ein Thema von Sven M. · begonnen am 29. Okt 2008 · letzter Beitrag vom 30. Okt 2008
Antwort Antwort
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#1

Fläche auf TChart einfärben

  Alt 29. Okt 2008, 15:16
Hoi zusammen,
muss euch mal wieder nerven...

Und zwar habe ich folgendes Problem: Ich möchte die Fläche unter einer Kurve im TChart einfärben. Die Fläche berechne ich auch - und zwar über das Trapez zwischen zwei Punkten auf der x-Achse und den jeweiligen Funktionswerten. Es liegt nahe, das berechnete Trapez dann auch gleich einzufärben. Dazu möchte ich die Canvas-Eigenschaft des Charts nutzen. Allerdings muss ich ja die exakten Koordinaten der Punkte ermitteln. Und genau daran scheitere ich gerade: Wie kann ich denn die Koordinaten des Punktes im Canvas ermitteln?

Und noch eine weitere Frage: Die eingefärbte Fläche behält ihre Position (beim Zoomen oder verschieben) relativ zur Series dann schon bei und bleibt nicht statisch auf dem selben Fleck stehen, oder?


Beste Grüße,
Sven





Edith meint:

Gerade noch einen anderen Ansatz entdeckt...
Man könnte ja auch noch über den Graphen einen Flächengraphen einzeichnen. Das Problem hierbei: Die Fläche zieht sich nach unten ja bis ins "Unendliche"...D.h. ich müsste für die Series einen "Nullwert" angeben können....Geht sowas denn?
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Fläche auf TChart einfärben

  Alt 29. Okt 2008, 16:18
Ich glaube das ging ganz einfach mit einer Methode von TChartSeries

procedure ColorRange(AValueList: TChartValueList;Const FromValue, ToValue: Double; AColor: TColor); Als AValueList gibst du die Werteliste deiner Chart Series an
und From und To ist der Bereich von X0 bis Xn.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: Fläche auf TChart einfärben

  Alt 29. Okt 2008, 16:45
Besten Dank für deinen Beitrag. Die Funktion hatte ich wohl vorher einfach überlesen...

Noch macht sie aber auch noch nicht, was ich will - nämlich gar nichts...

Series1.ColorRange(Series1.YValues, 0, Series1.Count-1, clred);
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Fläche auf TChart einfärben

  Alt 29. Okt 2008, 16:52
Series1.ColorRange(Series1.YValues, 0, Series1.MaxYValue, clred); btw.

Wieso benutzt du nicht TAreaSeries, das kann das Verhalten, was von dir gewünscht wird?

Bei TLineSeries müsste man rumtricksen. Ich glaube nämlich das CoolorRange nur die Linie selber eingefärbt hat, bin mir aber nicht sicher, schon lange her.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#5

Re: Fläche auf TChart einfärben

  Alt 30. Okt 2008, 08:24
TAreaSeries kann prizipiell schon das, was ich will...Allerdings füllt die Komponente ja den Bereich bis zum unteren Diagrammende auf. Und das will ich ja eben nicht.
Ich möchte, dass ein bestimmter Bereich unter einem Graphen markiert wird. In dem Beispiel im Anhang also nur bis y:=0...

So früh am Morgen noch 'n bisschen vergesslich...Jetzt ist der Anhang auch da...
Miniaturansicht angehängter Grafiken
bla_810.jpg  
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:43 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