Frage an php, jpgraph – Ändern Sie die Randfarbe für einen JPGraph

1

Ich versuche, die Farbe des Randes auf einem JPGraph zu ändern. Ich kann es nicht herausfinden. Ich habe es versucht$graph->SetMarginColor("khaki:0.6"); aber das schien nichts zu tun. Im Folgenden finden Sie den Code, der ein Beispieldiagramm sowie die Beispielausgabe generiert. Ich benutze Jpgraph 3.5, wenn das hilft.

$datay1 = array(20,15,23,15);
$datay2 = array(12,9,42,8);
$datay3 = array(5,17,32,24);

// Setup the graph
$graph = new Graph(300,250);
$graph->SetScale("textlin");

$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("solid");
$graph->xaxis->SetTickLabels(array('A','B','C','D'));
$graph->xgrid->SetColor('#E3E3E3');

// Create the first line
$p1 = new LinePlot($datay1);
$graph->Add($p1);
$p1->SetColor("#6495ED");
$p1->SetLegend('Line 1');

// Create the second line
$p2 = new LinePlot($datay2);
$graph->Add($p2);
$p2->SetColor("#B22222");
$p2->SetLegend('Line 2');

// Create the third line
$p3 = new LinePlot($datay3);
$graph->Add($p3);
$p3->SetColor("#FF1493");
$p3->SetLegend('Line 3');

$graph->legend->SetFrameWeight(1);

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

?>

Liegt der Bildrand nicht in der vertikalen Linie über D? Wenn nicht, dann denke ich, dass Whitespace als Hintergrund betrachtet werden kann, gibt es eine Möglichkeit, dies zu ändern? RMcLeod
Sie haben jpgraph noch nicht verwendet, können aber nicht herausfinden, wie hoch die HTML-Ausgabe für das Diagramm ist, und dann den Rand mithilfe von CSS ändern? RMcLeod
@RMcLeod Ich bin neu in jpgraph, aber so wie ich es verstehe, gibt es ein Bild aus, keinen HTML-Code. Richard

Deine Antwort

1   die antwort
7

SetMarginColor ist einer von zwei Befehlen, die Sie benötigen. Sie müssen auch verwendenSetFrame

$graph->SetTheme($theme_class);
$graph->img->SetAntiAliasing(false);
$graph->title->Set('Filled Y-grid');
$graph->SetMarginColor('khaki:0.6'); 
$graph->SetFrame(true,'khaki:0.6',1);    // The '1' here seems to be irrelevant
                                         // I've tried much larger numbers with no
                                         // change. This is supposed to be frame
                                         // width (in pixels). 
$graph->SetBox(false);

Dies erzeugt ein Bild wie dieses

Vielen Dank, Andy! das hat den Trick gemacht. Richard

Verwandte Fragen