Graph mit TChar erstellen.

Für Fragen von Einsteigern und Programmieranfängern...

Graph mit TChar erstellen.

Beitragvon Vincman » 5. Feb 2017, 13:20 Graph mit TChar erstellen.

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 5. Feb 2017, 13:51, insgesamt 4-mal geändert.
Vincman
 
Beiträge: 16
Registriert: 5. Feb 2017, 12:35

Beitragvon wp_xyz » 5. Feb 2017, 13:27 Re: Graph mit TChar erstellen.

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)
wp_xyz
 
Beiträge: 1785
Registriert: 8. Apr 2011, 08:01

Beitragvon Vincman » 5. Feb 2017, 13:34 Re: Graph mit TChar erstellen.

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: 5. Feb 2017, 12:35

Beitragvon Vincman » 5. Feb 2017, 13:35 Re: Graph mit TChar erstellen.

... und es ist eine LineSeries.
Vincman
 
Beiträge: 16
Registriert: 5. Feb 2017, 12:35

Beitragvon Vincman » 5. Feb 2017, 13:39 Re: Graph mit TChar erstellen.

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 5. Feb 2017, 17:15, insgesamt 1-mal geändert.
Vincman
 
Beiträge: 16
Registriert: 5. Feb 2017, 12:35

Beitragvon wp_xyz » 5. Feb 2017, 14:06 Re: Graph mit TChar erstellen.

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
wp_xyz
 
Beiträge: 1785
Registriert: 8. Apr 2011, 08:01

Beitragvon Vincman » 5. Feb 2017, 17:13 Re: Graph mit TChar erstellen.

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: 5. Feb 2017, 12:35

Beitragvon Vincman » 5. Feb 2017, 17:38 Re: Graph mit TChar erstellen.

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.)
Vincman
 
Beiträge: 16
Registriert: 5. Feb 2017, 12:35

Beitragvon wp_xyz » 5. Feb 2017, 19:39 Re: Graph mit TChar erstellen.

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).
wp_xyz
 
Beiträge: 1785
Registriert: 8. Apr 2011, 08:01

• Themenende •

Zurück zu Einsteigerfragen



Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 6 Gäste

porpoises-institution
accuracy-worried