Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Jpgraph problema

  1. #1

    Jpgraph problema

    Ciao a tutti, ho un problema con questa libreria, sono riuscito a scaricarla, installarla e generare semplici grafici ma non riesco ad adattarla al mio specifico caso.
    Cerco di spiegarvi il problema, vorrei fare un grafico per rappresentare la velocità raggiunta da un auto in base alla marcia inserita e al numero di giri. Quindi in un solo grafico ci vanno 5 linee (se il cambio ha 5 marcie), sull'asse delle X metto il numero di giri mentre sull'asse X la velocità che si raggiunge...

    Le 5 linee devono essere "indipendenti" perchè si puo, ad esempio andare a 20km/h sia in prima (a Xmila gira) e in quinta (a X-n milagiri). Quindi in grafico non posso farlo con una sola linea.

    I problemi che riscontro sono due:

    1) come associo il valore all'asse X? (ora prende il numero di dati in ingresso, 10 misurazioni di velocità-> 1,2,3,4,5,6,7,8,9,10) Io vorrei svincolare questo dato dal numero di letture in ingresso perchè controllo la velocità ogni 500 giri partendo da 500 per arrivare a 7500 (quindi ho circa 15 misurazioni)

    2) Posso disegnare 5 linee con un unico asse Y? Due riesco a disegnarle (assegnando due assi Y in pratica).
    2.1) La scala dell'asse Y chi la determina? La quinta marcia che va da 0 al max km/h?

    Codice PHP:
    require_once ('jpgraph/src/jpgraph.php');
    require_once (
    'jpgraph/src/jpgraph_line.php');
    session_start();



    $ydata = array(10,20,30,40,50,60,70,80,90);
    $y2data = array(10,20,30,40,50,60,70,80,90);
    $asseX = array(1234567); 

    // Create the graph and specify the scale for both Y-axis
    $graph = new Graph(400,300);
    $graph->SetScale('textlin');
    $graph->SetY2Scale('lin');
    $graph->SetShadow();
     
    // Adjust the margin
    $graph->img->SetMargin(40,40,20,40);
     
    // Create the two linear plot
    $lineplot=new LinePlot($ydata);
    $lineplot2=new LinePlot($y2data);
     
    // Add the plot to the graph
    $graph->Add($lineplot);
    $graph->AddY2($lineplot2);
    $lineplot2->SetColor('orange');
    $lineplot2->SetWeight(2);
     
    // Adjust the axis color
    $graph->y2axis->SetColor('orange');
    $graph->yaxis->SetColor('blue');
     
    $graph->title->Set('Grafico Velocità con marce normali');
    $graph->xaxis->title->Set('Numero giri x1000');
    $graph->yaxis->title->Set('Velocità');
    $graph->title->SetFont(FF_FONT1,FS_BOLD);
    $graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
    $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
     
    // Set the colors for the plots
    $lineplot->SetColor('blue');
    $lineplot->SetWeight(2);
    $lineplot2->SetColor('orange');
    $lineplot2->SetWeight(2);
     
    // Set the legends for the plots
    $lineplot->SetLegend('Plot 1');
    $lineplot2->SetLegend('Plot 2');
     
    // Adjust the legend position
    $graph->legend->Pos(0.25,0.5,'right','center');
     
    // Display the graph
    $graph->Stroke(); 
    Il codice in esempio prende sull'asse X 9 valori e non 7 come vorrei io e infatti i dati che ho riportato nell'array asseX non compaiono


    Grazie per l'aiuto! Buon lavoro
    www.zukimania.org

  2. #2
    Basta dare un'occhiata alla documentazione. QUI spiega come inserire più linee.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Grazie, quell'esempio non l'avevo trovato nelle guide, ora ho risolto praticamente il problema in 5 minuti! a volte basta davvero un niente, e non si vede la soluzione sotto al naso!

    Grazie ancora
    www.zukimania.org

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.