Graph mit TChar erstellen.

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Vincman
Beiträge: 16
Registriert: So 5. Feb 2017, 12:35

Graph mit TChar erstellen.

Beitrag von Vincman »

Hallo,

ich möchte in einer Pascal Gui Anwendung den Graphen einer Funktion mithilfe eines TCharts anzeigen.
Ich möchte den Graphen jedoch nur von x = -10 bis x = 10 anzeigen lassen und habe dafür entsprechend im Objektinspektor unter
>Marks >Range Min und Max angepasst und dasselbe nur unter >Range (ohne >Marks) gemacht. Danach habe ich bei den beiden UseMax und UseMin auf True gesetzt und auch unter >Intervals >Options alles auf True gesetzt.

Nur leider sieht es überhaupt nicht so aus wie ich es haben möchte:

Bild

:cry:

Wie kann man das Problem beheben?

(Wenn noch irgendwas unverständlich ist oder man die Bilder nicht sehen kann, bitte Bescheid geben. :mrgreen: )

Danke im Vorraus,
Vincman.
Zuletzt geändert von Vincman am So 5. Feb 2017, 13:51, insgesamt 4-mal geändert.

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: Graph mit TChar erstellen.

Beitrag von wp_xyz »

Die beiden Bilder sehen für mich gleich aus. Was willst du genau sehen? Es wäre auch noch wichtig zu wissen, welchen SeriesTyp du verwendest. Eine TLineSeries oder eine TFunctionSeries? (Letztere hat einen eigenen Range)

Vincman
Beiträge: 16
Registriert: So 5. Feb 2017, 12:35

Re: Graph mit TChar erstellen.

Beitrag von Vincman »

Danke erstmal!

Ich hab das andere Bild jetzt nochmal hochgeladen, hoffe es klappt...

Mein Problem ist, dass der Graph so klein; ich möchte quasi einen anderen Maßstab haben, damit man nicht so viel weißen Rand sieht.

Danke,
Vincman

Vincman
Beiträge: 16
Registriert: So 5. Feb 2017, 12:35

Re: Graph mit TChar erstellen.

Beitrag von Vincman »

... und es ist eine LineSeries.

Vincman
Beiträge: 16
Registriert: So 5. Feb 2017, 12:35

Re: Graph mit TChar erstellen.

Beitrag von Vincman »

Leider bin ich zu blöd zwei verschiedene Bilder hochzuladen, aber was ich erreichen möchte ist, dass man nur einen Ausschnitt des Grapen aus dem Bereich x = -10 bis x= 10 sieht und dabei keine unnütze weiße Fläche links und rechts bzw. oben und unten hat.

Man könnte natürlich als Benutzer rein-zoomen, aber ich möchte, dass es gleich von Anfang an richtig ist.
Zuletzt geändert von Vincman am So 5. Feb 2017, 17:15, insgesamt 1-mal geändert.

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: Graph mit TChar erstellen.

Beitrag von wp_xyz »

Eigentlich geht das bei TLineSeries automatisch, die Achsenbereiche werden durch die Bereiche der Daten definiert, du musst normalerweise gar keine Ranges setzen. Wie erzeugst du denn die Daten für die LineSeries? So mache ich es (keinerlei Ranges gesetzt):

Code: Alles auswählen

function MeineFunktion(x: Double): Double;
begin
  Result := x;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
const
  XMIN = -10;
  XMAX = +10;
  N = 100;
var
  x,y: Double;
  i: Integer;
begin
  for i:=0 to N-1 do begin
    x := XMIN + (XMAX - XMIN) * i / (N-1);
    y := MeineFunktion(x);
    Chart1LineSeries1.AddXY(x, y);
  end;
end

Vincman
Beiträge: 16
Registriert: So 5. Feb 2017, 12:35

Re: Graph mit TChar erstellen.

Beitrag von Vincman »

wp_xyz hat geschrieben:Wie erzeugst du denn die Daten für die LineSeries?


Eigentlich genauso wie du es machst.
Aber wenn ich keine Range vorgebe, dann hört der Graph einfach irgendwo auf und deswegen wollte ich da, wo der Graph aufhört das TChar begrenzen, damit sich der Benutzer nicht wundert, warum der Graph nicht weiter geht:

Bild

Der Graph hört abrupt auf aber die x-Achse geht noch weiter; das sieht blöd aus ... :(

Vincman
Beiträge: 16
Registriert: So 5. Feb 2017, 12:35

Re: Graph mit TChar erstellen.

Beitrag von Vincman »

Ich bin so dämlich!

Ich hatte Proportional auf True und deswegen wurde die x-Achse immer so lang gezogen... :oops:

Trotzdem Danke!

Aber eine Frage hätte ich noch:
Kann man es irgendwie unterbinden, dass der Benutzer den Graphen verschieben kann? (Wenn man mit der rechten Maustaste gedrückt den Graph verschiebt.)

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: Graph mit TChar erstellen.

Beitrag von wp_xyz »

Du musst nur eine TChartToolSet-Komponente auf das Formular klicken und der Eigenschaft Toolset des Chart zuweisen. Dadurch wird das eingebaute Toolset, das für Zoomen und Verschieben zuständig ist, deaktiviert. Falls du trotzdem zoomen willst, musst du jetzt auf der ChartToolSet-Komponente doppelt klicken und mit "+" ein ZoomDragTool einfügen ("Zoomen durch Ziehen"). Wenn du jetzt bei dem ZoomDragTool unter "Shift" den Eintrag "ssLeft" aktivierst, dann kannst zu mit gedrückter linker Maustaste von links oben nach recht unten das Zoom-Rechteck aufziehen, das beim Loslassen der Taste aktiv wird. Den Originalzustand stellst du durch einen einfachen Klick im Chart wieder her (bzw. durch die anderen in RestoreExtenton aktiven Optionen).

Antworten