Forum

Einloggen | Registrieren | RSS  

hansi

30.08.2018,
23:54
 

Erfahrungen mit JPGRAPH (Netzwerktechnik)

Hallo,
hat jemand von euch Erfahrung mit Jpgraph?
hab schon gegoogelt zu meinem Problem ... aber in meiner Muttersprache nichts brauchbares gefunden
nun zum Problem
ich möchte 5-minutenweise einen Wert aufnehmen und in einem Tagesverlauf grafisch darstellen
aufnehmen klappt soweit
aber die Darstellung in jpgraph bekomme ich nicht hin
die Achseinteilung ist dabei kein Problem
aber die Anzahl der Messwerte (288 pro Tag) bereitet Probleme
wie kann man die Abstände einstellen?

bastelix(R)

31.08.2018,
00:24

@ hansi

Erfahrungen mit JPGRAPH

» Hallo,
» hat jemand von euch Erfahrung mit Jpgraph?
Muss es JpGraph sein? Mit http://chartjs.org/ hätte ich Erfahrung und ein ähnliches Problem vor langer Zeit mal gelöst. Läuft halt dann im Client (sofern du überhaupt eine Webanwendung baust, aber bei PHP liegt das nahe)

» aber in meiner Muttersprache nichts brauchbares gefunden
Vielleicht hilft dir da https://translate.google.com weiter

» wie kann man die Abstände einstellen?
Wenn sonst keiner weiterhelfen kann brauche ich zumindest Beispielcode incl. Demo-Datensätze in dem erwarteten Umfang.

hansi

31.08.2018,
11:09

@ bastelix

Erfahrungen mit JPGRAPH

Hallo Bastelix,

es muss nicht jpgraph sein, das hatte aber vielversprechend ausgesehen
kann auch ein anders sein wenn es denn geht

so soll es aussehen x-achse 0 bis 24 Uhr
es sollen aber viel mehr Punkte dargestellt werde, dass man auch kurze Ausreißer sehen kann
auch wenn das dann wie Rauschen aussieht
die Werte übergebe ich als Array
wenn ich mehr Werte übergebe verändert sich die Beschriftung der x-Achse

» » Hallo,
» » hat jemand von euch Erfahrung mit Jpgraph?
» Muss es JpGraph sein? Mit http://chartjs.org/ hätte ich Erfahrung und ein
» ähnliches Problem vor langer Zeit mal gelöst. Läuft halt dann im Client
» (sofern du überhaupt eine Webanwendung baust, aber bei PHP liegt das nahe)
»
» » aber in meiner Muttersprache nichts brauchbares gefunden
» Vielleicht hilft dir da https://translate.google.com weiter
»
» » wie kann man die Abstände einstellen?
» Wenn sonst keiner weiterhelfen kann brauche ich zumindest Beispielcode
» incl. Demo-Datensätze in dem erwarteten Umfang.

hansi

31.08.2018,
20:18

@ hansi

Erfahrungen mit JPGRAPH

abei noch der Datensatz
hab alles drinnen gelassen was mal versucht wurde
ich weiß nicht wo der Zusammenhang aus Anzahl der x-Werte und x -Beschriftung einstellbar ist



» Hallo Bastelix,
»
» es muss nicht jpgraph sein, das hatte aber vielversprechend ausgesehen
» kann auch ein anders sein wenn es denn geht
»
» so soll es aussehen x-achse 0 bis 24 Uhr
» es sollen aber viel mehr Punkte dargestellt werde, dass man auch kurze
» Ausreißer sehen kann
» auch wenn das dann wie Rauschen aussieht
» die Werte übergebe ich als Array
» wenn ich mehr Werte übergebe verändert sich die Beschriftung der x-Achse
»
» » » Hallo,
» » » hat jemand von euch Erfahrung mit Jpgraph?
» » Muss es JpGraph sein? Mit http://chartjs.org/ hätte ich Erfahrung und
» ein
» » ähnliches Problem vor langer Zeit mal gelöst. Läuft halt dann im Client
» » (sofern du überhaupt eine Webanwendung baust, aber bei PHP liegt das
» nahe)
» »
» » » aber in meiner Muttersprache nichts brauchbares gefunden
» » Vielleicht hilft dir da https://translate.google.com weiter
» »
» » » wie kann man die Abstände einstellen?
» » Wenn sonst keiner weiterhelfen kann brauche ich zumindest Beispielcode
» » incl. Demo-Datensätze in dem erwarteten Umfang.
»
»

ollanner(R)

31.08.2018,
21:08

@ hansi

Erfahrungen mit JPGRAPH

» abei noch der Datensatz
Keiner dabei gewesen.

--
Gruß
Der Ollanner

hansi

31.08.2018,
21:13

@ hansi

Erfahrungen mit JPGRAPH

jetzt aber

Dateiname: Linegraph.php

<?php
include ("jpgraph.php";);
include ("jpgraph_line.php";);

#wertevorgabe für tabelle
$dat_ymin=200;
$dat_ymax=260;

// Die Werte der 2 Linien in ein Array speichern

#aktuelle y-werte aus datei in array einlesen
include ("lesen.php";);
$ydata=$array;
#$ydata = array(0,11,7,8,12,6,11,9,13,6,7,11,11,10);
#$ydata2 = array(15,10,19,15,7,22,14,8,9,19,13,12,12,10,16,16);

// Grafik generieren und Grafiktyp festlegen
//$graph = new Graph(400,300,"auto";);
$graph = new Graph(720,300,"auto";);
//"textlin",yunten,yoben,xlinks,xrechts) von bis
//$graph->SetScale("textlin",200,250);
$graph->SetScale("linlin",$dat_ymin,$dat_ymax, 0,720);
#$graph->SetScale("datlin";);

#grid
#$theme_class=new UniversalTheme;

#$graph->SetTheme($theme_class);
#$graph->img->SetAntiAliasing(false);
#$graph->title->Set('Filled Y-grid');
$graph->SetBox(false);

#$graph->img->SetAntiAliasing();

#$graph->yaxis->HideZeroLabel();
#$graph->yaxis->HideLine(false);
#$graph->yaxis->HideTicks(false,false);

$graph->xgrid->Show();
$graph->xgrid->SetLineStyle("dashed";);
#$graph->xaxis->SetTickLabels(array('A','B','C','D'));
$graph->xgrid->SetColor('#E3E3E3');

// Use 50% blending
$graph->ygrid->SetFill(true,'#EFEFEF@0.5','#ffddFF@0.5');
$graph->ygrid->Show();




#oder feste Vorgabe
#$graph->SetScale("textlin";);
#$graph->xaxis->SetTickLabels(array(0,1,2,3,4,5,6,7,8,9,10));
#$graph->xaxis->SetTickLabels($date);
#$graph->xaxis->SetTextLabelInterval(1);
#$graph->xaxis->SetTickLabels(array('00','','','','02','','','','04','','','','06','','','','08','','','','10','','','','12','','','','14','','','','16','','','','18','','','','20','','','','22','','','','24'));

//????



#$graph->SetAxisLabelBackground(LABELBKG_NONE,'orange','red','lightblue','red');

// Die Zwei Linien generieren
$lineplot=new LinePlot($ydata);

#$lineplot2=new LinePlot($ydata2);

// Die Linien zu der Grafik hinzufügen
$graph->Add($lineplot);
#$graph->Add($lineplot2);

// Grafik Formatieren
$graph->img->SetMargin(40,20,20,40);
#$graph->title->Set("Netzspannung";);
#$graph->xaxis->title->Set("Zeit";);
#$graph->yaxis->title->Set("Spannung (V)";);

#$graph->title->SetFont(FF_FONT1,FS_BOLD);
#$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
#$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);

#$graph -> SetGridDepth (DEPTH_FRONT);
#$graph->ygrid->SetFillColor(true, '#EFEFEF@0.6', '#EFEFEF@0.6');

$lineplot->SetColor("blue";);
$lineplot->SetWeight(1);

#$lineplot2->SetColor("orange";);
#$lineplot2->SetWeight(1);

$graph->yaxis->SetColor("black";);
$graph->yaxis->SetWeight(1);
#$graph->SetShadow();

#$lineplot->value->Show();

// Grafik anzeigen
$graph->Stroke();
?>

und noch ein Bild dazu
auf der x Achse hätte ich geren 0 bis 24


» abei noch der Datensatz
» hab alles drinnen gelassen was mal versucht wurde
» ich weiß nicht wo der Zusammenhang aus Anzahl der x-Werte und x
» -Beschriftung einstellbar ist
»
»
»
» » Hallo Bastelix,
» »
» » es muss nicht jpgraph sein, das hatte aber vielversprechend ausgesehen
» » kann auch ein anders sein wenn es denn geht
» »
» » so soll es aussehen x-achse 0 bis 24 Uhr
» » es sollen aber viel mehr Punkte dargestellt werde, dass man auch kurze
» » Ausreißer sehen kann
» » auch wenn das dann wie Rauschen aussieht
» » die Werte übergebe ich als Array
» » wenn ich mehr Werte übergebe verändert sich die Beschriftung der x-Achse
» »
» » » » Hallo,
» » » » hat jemand von euch Erfahrung mit Jpgraph?
» » » Muss es JpGraph sein? Mit http://chartjs.org/ hätte ich Erfahrung und
» » ein
» » » ähnliches Problem vor langer Zeit mal gelöst. Läuft halt dann im
» Client
» » » (sofern du überhaupt eine Webanwendung baust, aber bei PHP liegt das
» » nahe)
» » »
» » » » aber in meiner Muttersprache nichts brauchbares gefunden
» » » Vielleicht hilft dir da https://translate.google.com weiter
» » »
» » » » wie kann man die Abstände einstellen?
» » » Wenn sonst keiner weiterhelfen kann brauche ich zumindest Beispielcode
» » » incl. Demo-Datensätze in dem erwarteten Umfang.
» »
» »

ollanner(R)

31.08.2018,
21:53
(editiert von ollanner
am 31.08.2018 um 21:53)


@ hansi

Erfahrungen mit JPGRAPH

Irgendwas verstehe ich an dem PHP nicht.
Mit Python kann ich deine Grafiken in keinster weise reproduzieren. Die Datenarrays passen irgendwie nicht mit den Anzahlen der vorgeblichen Messwerte zusammen.
Ansonsten Tipp: Python3 mit Pandas und Matplotlib erzeugt auch nette Plots.

--
Gruß
Der Ollanner

hansi

31.08.2018,
22:20

@ ollanner

Erfahrungen mit JPGRAPH

Hallo Ollaner,

die Daten werden mit Python im Raspi gemessen und zu einem Server hochgeladen

Mein Problem ist, dass die Anzahl der Messwerte nicht mit der x-Skalierung identisch ist

» Irgendwas verstehe ich an dem PHP nicht.
» Mit Python kann ich deine Grafiken in keinster weise reproduzieren. Die
» Datenarrays passen irgendwie nicht mit den Anzahlen der vorgeblichen
» Messwerte zusammen.
» Ansonsten Tipp: Python3 mit Pandas und Matplotlib erzeugt auch nette Plots.

ollanner(R)

31.08.2018,
22:22

@ hansi

Erfahrungen mit JPGRAPH

» Hallo Ollaner,
»
» die Daten werden mit Python im Raspi gemessen und zu einem Server
» hochgeladen
»
» Mein Problem ist, dass die Anzahl der Messwerte nicht mit der x-Skalierung
» identisch ist

Meins auch. In daten sind 14 elemente und in daten2 sind 16.

--
Gruß
Der Ollanner

bastelix(R)

31.08.2018,
22:32

@ hansi

Erfahrungen mit JPGRAPH

So ich hab mal php installiert (hey ich hab seit drei Jahren nichts mehr mit php gemacht :clap: ) und etwas in der Doku gelesen.

» ich weiß nicht wo der Zusammenhang aus Anzahl der x-Werte und x-Beschriftung einstellbar ist
Mit $graph->xaxis->SetTextLabelInterval($interval); kannst du einstellen in welchen abständen die Beschriftung eingetragen wird. Damit hab ich dann was zusammengehackt. Geht vermutlich auch eleganter, aber wenn ich deine Anforderung richtig verstanden habe sollte der Hack reichen.
Interessant sind für dich Zeile 17 (hier wird das Label-Array gefüllt und zwar mit werten von 0 - 24), 27. (hier wird das Intervall gesetzt) und 29. (da wird dann das Label-Array gesetzt). Basis war ein Beispiel-Script aus dem Example-Ordner der lib.

Getestet mit PHP 7.0.7 und jpgraph-4.2.2 unter Linux

Besser lesbare Version gibt es unter https://pastebin.com/8yC6gNxq

<?php // content="text/plain; charset=utf-8"
require_once ('jpgraph/jpgraph.php');
require_once ('jpgraph/jpgraph_line.php');

function scaleNumber($val, $in_min, $in_max, $out_min, $out_max) {
return intval(($val - $in_min) * ($out_max - $out_min) / ($in_max - $in_min) + $out_min);
}

$l1datay = [];
$datax = [];
$maxData = 266;

for($i = 0; $i <= $maxData; ++$i) {
// demodaten erzeugen
$l1datay[] = $i % 35 == 0 ? rand(0, 200) : rand(10,100);
// label erzeugen und auf interval [0,25] runterrechnen.
$datax[] = scaleNumber($i, 0, $maxData, 0, 24);
}
$l1datay[$maxData] = 200; // letzten Datenpunkt als Ausreißer um zu sehen ob er noch im Bild ist

// Create the graph.
$graph = new Graph(800,400);
$graph->clearTheme();
$graph->SetScale("textlin";);

// Label nur alle /24 anzeigen
$graph->xaxis->SetTextLabelInterval(266/24);
// Label array setzen
$graph->xaxis->SetTickLabels($datax);

// Create the linear error plot
$l1plot=new LinePlot($l1datay);
$l1plot->SetColor("red";);
$l1plot->SetWeight(2);
$l1plot->SetLegend("Prediction";);

//Center the line plot in the center of the bars
$l1plot->SetBarCenter();

// Add the plots to t'he graph
$graph->Add($l1plot);

$graph->title->Set("Linie";);
$graph->xaxis->title->Set("X-title";);
$graph->yaxis->title->Set("Y-title";);

$graph->title->SetFont(FF_FONT1,FS_BOLD);
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);

// Display the graph
$graph->Stroke();
// EOF

Hier noch ein Beispielbild

bastelix(R)

31.08.2018,
22:39

@ ollanner

Erfahrungen mit JPGRAPH

» » Hallo Ollaner,
» »
» » die Daten werden mit Python im Raspi gemessen und zu einem Server
» » hochgeladen
» »
» » Mein Problem ist, dass die Anzahl der Messwerte nicht mit der
» x-Skalierung
» » identisch ist
»
» Meins auch. In daten sind 14 elemente und in daten2 sind 16.
Beziehst du dich auf die #$ydata und #$ydata2? Die Zeilen sind auskommentiert.
Die eigentlichen Daten werden wohl via $ydata=$array; zugewiesen und da in der Zeile drüber include ("lesen.php";) steht nehem ich an $array wird dort initialisiert.

Das ganze ist durch die vielen auskommentierten Codestellen schon sehr schwer lesbar (also noch schwerer als für php üblich ;) )

hansi

01.09.2018,
09:19

@ bastelix

Erfahrungen mit JPGRAPH

Hallo Bastelix,

erstmal möchte ich mich für deine Hilfe bedanken
Das sieht nun sehr gut aus

2 Fragen habe ich noch
ich hab nicht gefunden wo man die y-Achse fest einstellt
ich bräuchte nur den Bereich von 200 bis 260 (unabhängig vom Signal)
bisher waren das die Konstanten
$dat_ymin=200;
$dat_ymax=260;

ich habe in der x-Achse die Anzahl der Werte nochmal größer gemacht
der einzige Schönheitsfehler ist, dass die x -Skalenstriche nun zu einem schwarzen Balken werden
gibt es dafür auch noch eine Lösung?


» So ich hab mal php installiert (hey ich hab seit drei Jahren nichts mehr
» mit php gemacht :clap: ) und etwas in der Doku gelesen.
»
» » ich weiß nicht wo der Zusammenhang aus Anzahl der x-Werte und
» x-Beschriftung einstellbar ist
» Mit $graph->xaxis->SetTextLabelInterval($interval); kannst du einstellen in
» welchen abständen die Beschriftung eingetragen wird. Damit hab ich dann was
» zusammengehackt. Geht vermutlich auch eleganter, aber wenn ich deine
» Anforderung richtig verstanden habe sollte der Hack reichen.
» Interessant sind für dich Zeile 17 (hier wird das Label-Array gefüllt und
» zwar mit werten von 0 - 24), 27. (hier wird das Intervall gesetzt) und 29.
» (da wird dann das Label-Array gesetzt). Basis war ein Beispiel-Script aus
» dem Example-Ordner der lib.
»
» Getestet mit PHP 7.0.7 und jpgraph-4.2.2 unter Linux
»
» Besser lesbare Version gibt es unter https://pastebin.com/8yC6gNxq
»
» <?php // content="text/plain; charset=utf-8"
» require_once ('jpgraph/jpgraph.php');
» require_once ('jpgraph/jpgraph_line.php');
»
» function scaleNumber($val, $in_min, $in_max, $out_min, $out_max) {
» return intval(($val - $in_min) * ($out_max - $out_min) / ($in_max -
» $in_min) + $out_min);
» }
»
» $l1datay = [];
» $datax = [];
» $maxData = 266;
»
» for($i = 0; $i <= $maxData; ++$i) {
» // demodaten erzeugen
» $l1datay[] = $i % 35 == 0 ? rand(0, 200) : rand(10,100);
» // label erzeugen und auf interval [0,25] runterrechnen.
» $datax[] = scaleNumber($i, 0, $maxData, 0, 24);
» }
» $l1datay[$maxData] = 200; // letzten Datenpunkt als Ausreißer um zu sehen
» ob er noch im Bild ist
»
» // Create the graph.
» $graph = new Graph(800,400);
» $graph->clearTheme();
» $graph->SetScale("textlin";);
»
» // Label nur alle /24 anzeigen
» $graph->xaxis->SetTextLabelInterval(266/24);
» // Label array setzen
» $graph->xaxis->SetTickLabels($datax);
»
» // Create the linear error plot
» $l1plot=new LinePlot($l1datay);
» $l1plot->SetColor("red";);
» $l1plot->SetWeight(2);
» $l1plot->SetLegend("Prediction";);
»
» //Center the line plot in the center of the bars
» $l1plot->SetBarCenter();
»
» // Add the plots to t'he graph
» $graph->Add($l1plot);
»
» $graph->title->Set("Linie";);
» $graph->xaxis->title->Set("X-title";);
» $graph->yaxis->title->Set("Y-title";);
»
» $graph->title->SetFont(FF_FONT1,FS_BOLD);
» $graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
» $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
»
» // Display the graph
» $graph->Stroke();
» // EOF
»
» Hier noch ein Beispielbild
»
»

bastelix(R)

01.09.2018,
13:03

@ hansi

Erfahrungen mit JPGRAPH

Hallo Hansi,

» ich hab nicht gefunden wo man die y-Achse fest einstellt
» ich bräuchte nur den Bereich von 200 bis 260 (unabhängig vom Signal)
» bisher waren das die Konstanten
» $dat_ymin=200;
» $dat_ymax=260;
Du kannst das auto scaling der Y-Achste ausschalten und den Bereich fest definieren: $graph->SetScale("textlin", 200, 260, 0, 0);
SetScale($mode, $ymin, $ymax, $xmin, $xmax) wobei mit 0 für min/max auto scaling verwendet wird.
Allerdings müssen deine Datenpunkte dann auch im bereich [200,260] liegen, sonst zeichnet er dir den Graph eiskalt außerhalb des Bildes. Notfalls musst du die Datenpunkte normalisieren bevor du sie zeichnen lässt.

» ich habe in der x-Achse die Anzahl der Werte nochmal größer gemacht
» der einzige Schönheitsfehler ist, dass die x -Skalenstriche nun zu einem
» schwarzen Balken werden
» gibt es dafür auch noch eine Lösung?
Die Skalenstriche ganz abschalten kannst du mit $graph->xaxis->scale->ticks->SetSize(0,0);
Mehr hab ich dazu nicht gefunden.

Falls bei dir auch die 0 zwei mal auf der X-Achste eingetragen wird hilft +1 beim LabelInterval $graph->xaxis->SetTextLabelInterval(266/24 + 1);
Wie gesagt ist nur ein Hack ;-)

Hansi

01.09.2018,
18:54

@ bastelix

Erfahrungen mit JPGRAPH

Vielen Dank fuer deine Hilfe
Ich kann es erst naechste Woche testen weil ich dienstlich unterwegs bin

Gruss Hansi



» Hallo Hansi,
»
» » ich hab nicht gefunden wo man die y-Achse fest einstellt
» » ich bräuchte nur den Bereich von 200 bis 260 (unabhängig vom Signal)
» » bisher waren das die Konstanten
» » $dat_ymin=200;
» » $dat_ymax=260;
» Du kannst das auto scaling der Y-Achste ausschalten und den Bereich fest
» definieren: $graph->SetScale("textlin", 200, 260, 0, 0);
» SetScale($mode, $ymin, $ymax, $xmin, $xmax) wobei mit 0 für min/max auto
» scaling verwendet wird.
» Allerdings müssen deine Datenpunkte dann auch im bereich [200,260] liegen,
» sonst zeichnet er dir den Graph eiskalt außerhalb des Bildes. Notfalls
» musst du die Datenpunkte normalisieren bevor du sie zeichnen lässt.
»
» » ich habe in der x-Achse die Anzahl der Werte nochmal größer gemacht
» » der einzige Schönheitsfehler ist, dass die x -Skalenstriche nun zu einem
» » schwarzen Balken werden
» » gibt es dafür auch noch eine Lösung?
» Die Skalenstriche ganz abschalten kannst du mit
» $graph->xaxis->scale->ticks->SetSize(0,0);
» Mehr hab ich dazu nicht gefunden.
»
» Falls bei dir auch die 0 zwei mal auf der X-Achste eingetragen wird hilft
» +1 beim LabelInterval $graph->xaxis->SetTextLabelInterval(266/24 + 1);
» Wie gesagt ist nur ein Hack ;-)

hansi

04.09.2018,
09:38

@ bastelix

Erfahrungen mit JPGRAPH

Hallo Bastelix,
erst noch mal recht herzlichen Dank für deine Hilfe
nun habe ich deinen Vorschlag endlich testen können
es klappt fast alles
y -Achse ist OK
aber wenn ich die ticks in der x-Achse wegschalte änder sich auch die Beschriftung
dann steht da wieder 0 bis 720


» Hallo Hansi,
»
» » ich hab nicht gefunden wo man die y-Achse fest einstellt
» » ich bräuchte nur den Bereich von 200 bis 260 (unabhängig vom Signal)
» » bisher waren das die Konstanten
» » $dat_ymin=200;
» » $dat_ymax=260;
» Du kannst das auto scaling der Y-Achste ausschalten und den Bereich fest
» definieren: $graph->SetScale("textlin", 200, 260, 0, 0);
» SetScale($mode, $ymin, $ymax, $xmin, $xmax) wobei mit 0 für min/max auto
» scaling verwendet wird.
» Allerdings müssen deine Datenpunkte dann auch im bereich [200,260] liegen,
» sonst zeichnet er dir den Graph eiskalt außerhalb des Bildes. Notfalls
» musst du die Datenpunkte normalisieren bevor du sie zeichnen lässt.
»
» » ich habe in der x-Achse die Anzahl der Werte nochmal größer gemacht
» » der einzige Schönheitsfehler ist, dass die x -Skalenstriche nun zu einem
» » schwarzen Balken werden
» » gibt es dafür auch noch eine Lösung?
» Die Skalenstriche ganz abschalten kannst du mit
» $graph->xaxis->scale->ticks->SetSize(0,0);
» Mehr hab ich dazu nicht gefunden.
»
» Falls bei dir auch die 0 zwei mal auf der X-Achste eingetragen wird hilft
» +1 beim LabelInterval $graph->xaxis->SetTextLabelInterval(266/24 + 1);
» Wie gesagt ist nur ein Hack ;-)

hansi

04.09.2018,
12:54

@ hansi

Erfahrungen mit JPGRAPH

Hallo Bastelix,
das letzte Problem hat sich auch gelöst
ich musste "nur" die Reihenfolge zweier Zeilen ändern
nochmals DANKE!!!

» Hallo Bastelix,
» erst noch mal recht herzlichen Dank für deine Hilfe
» nun habe ich deinen Vorschlag endlich testen können
» es klappt fast alles
» y -Achse ist OK
» aber wenn ich die ticks in der x-Achse wegschalte änder sich auch die
» Beschriftung
» dann steht da wieder 0 bis 720
»
»
» » Hallo Hansi,
» »
» » » ich hab nicht gefunden wo man die y-Achse fest einstellt
» » » ich bräuchte nur den Bereich von 200 bis 260 (unabhängig vom Signal)
» » » bisher waren das die Konstanten
» » » $dat_ymin=200;
» » » $dat_ymax=260;
» » Du kannst das auto scaling der Y-Achste ausschalten und den Bereich fest
» » definieren: $graph->SetScale("textlin", 200, 260, 0, 0);
» » SetScale($mode, $ymin, $ymax, $xmin, $xmax) wobei mit 0 für min/max auto
» » scaling verwendet wird.
» » Allerdings müssen deine Datenpunkte dann auch im bereich [200,260]
» liegen,
» » sonst zeichnet er dir den Graph eiskalt außerhalb des Bildes. Notfalls
» » musst du die Datenpunkte normalisieren bevor du sie zeichnen lässt.
» »
» » » ich habe in der x-Achse die Anzahl der Werte nochmal größer gemacht
» » » der einzige Schönheitsfehler ist, dass die x -Skalenstriche nun zu
» einem
» » » schwarzen Balken werden
» » » gibt es dafür auch noch eine Lösung?
» » Die Skalenstriche ganz abschalten kannst du mit
» » $graph->xaxis->scale->ticks->SetSize(0,0);
» » Mehr hab ich dazu nicht gefunden.
» »
» » Falls bei dir auch die 0 zwei mal auf der X-Achste eingetragen wird
» hilft
» » +1 beim LabelInterval $graph->xaxis->SetTextLabelInterval(266/24 + 1);
» » Wie gesagt ist nur ein Hack ;-)