Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeitliche Darstellung XY Liniendiagramm (JP-Graph)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeitliche Darstellung XY Liniendiagramm (JP-Graph)

    Guten Abend,

    ich benötige eure Hilfe:

    Mittels JP-Graph visualisiere ich ein Liniendiagramm. Auf der Y-Achse werden Messwerte dargestellt und auf der X-Achse ein Unix-Zeitstempel.
    Es handelt sich hierbei um eine Visualisierung von einem Auftragsbericht. Auf dem Diagramm soll entnommen werden, ob sich das Produkt im Sollbereich befindet.

    Nun die erste Frage:
    Würde gerne Linien ziehen um Sollwert und Toleranzgrenzen zu visualisieren(Siehe Abbildung Rote und Grüne Linien). Zuerst hatte ich übers Diagramm hinweg einzelnde Punkte gemalt, jedoch kam ich da schnell an die Grenzen der erlaubten Bytes.
    Gibt es eine Set-Funktion wo ich anhand eines Wertes eine Linie übers Diagramm zeichnen kann?
    Man könnte auch einzelnde Felder farbig machen: Sprich zwischen 795 und 805 Grün und den restlichen kram Rot. Leider hab ich auch hierzu keine Funktion gefunden.

    Unbenannt.PNG



    Nun die zweite Frage:
    Manchmal kommt es vor, dass Datensätze sprich, ein Produkt von einem Auftrag aus dem Diagramm gelöscht werden.(Bei Schlecht-Produktion) Hier habe ich ein Problem bei der Skalierung der X-Achse. Siehe Folgende Abbildung:

    Unbenannt1.PNG


    Hier sieht man an der gelben Stelle den gelöschten Datensatz. Nun möchte ich aber das die Zeit auf der XAchse von diesem Datensatz auch gelöscht werden, damit der doofe Querstrich nicht zu sehen ist. Gibt es eine Skalierung wo sich der Y-Wert einfach auf den X-Wert bezieht? Dann Wäre das Problem gelöst!

    PHP-Code:
    require_once ('src/jpgraph.php');
    require_once (
    'src/jpgraph_line.php');

    // Setup the graph
    $graph = new Graph(1100,600,"auto");
    $graph->SetMargin(40,40,30,130);
    // Graph skalieren
    $graph->SetScale("datelin",$AnfangYScale,$EndeYScale,$AnfangXScale,$EndeXScale);

    $theme_class=new UniversalTheme;
    $graph->SetTheme($theme_class);           
    $graph->img->SetAntiAliasing(false);

    $graph->title->Set('Espessura');
    //$graph->subtitle->Set('');
    $graph->SetBox(false);
    $graph->img->SetAntiAliasing();

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

    // Set the angle for the labels to 90 degrees
    $graph->xaxis->SetLabelAngle(70);

    //Hintergrund einstellbar
    $graph->SetMarginColor('silver@0.99');

    $graph->xgrid->Show();
    $graph->xgrid->SetLineStyle("Solid");
    //$graph->xaxis->SetTickLabels(array('18:52:21','18:53:01','18:54:01','18:08:01'));
    $graph->xgrid->SetColor('#E3E3E3');

    $graph->yaxis->Setcolor("black");
    $graph->yaxis->SetWeight(2.5);

    $graph->xaxis->Setcolor("black");
    $graph->xaxis->SetWeight(2.5);

    // Create the first line
    $Soll=new LinePlot($Sollwert);
    $graph->Add($Soll);
    $Soll->SetColor("#006400");

    // Create the first line
    $OTG=new LinePlot($OTGrenze);
    $graph->Add($OTG);
    $OTG->SetColor("#FF0000");

    // Create the first line
    $UTG=new LinePlot($UTGrenze);
    $graph->Add($UTG);
    $UTG->SetColor("#FF0000");

    if (
    $AnzYWerte>=1350)
    {    
    $p1 = new LinePlot($OutY,$OutX);
    }
     else {
     
    $p1 = new LinePlot($fYWerte,$XWerteArray);
    }

    $graph->Add($p1);
    $p1->SetColor("#0000A0");
    $graph->SetBackgroundImage('Diagramm.jpg',BGIMG_COPY);

    // Output line
    $graph->Stroke(); 

    Vielen Dank schonmal im Vorraus

    LG

  • #2
    Hallo,
    könnte man für die Toleranzen über das Jp-Graph Diagramm mitimageline eine Linie übers Diagramm zeichnen?
    LG

    Kommentar

    Lädt...
    X