Pregunta sobre php, jpgraph – cambiar el color del margen para un jpgraph

1

Estoy tratando de cambiar el color del margen en un jpgraph. Parece que no puedo entenderlo. Lo intenté$graph->SetMarginColor("khaki:0.6"); pero eso parecía no hacer nada. A continuación se muestra el código que genera un gráfico de ejemplo, así como la salida de muestra. Estoy usando jpgraph 3.5 si eso ayuda.

$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();

?>

No usé jpgraph antes, pero ¿no puede averiguar cuál es el html de salida para el gráfico y luego cambiar el margen usando css? RMcLeod
¿El borde de la imagen no está en línea con la línea vertical sobre D? Si no, entonces creo que los espacios en blanco pueden considerarse como fondo, ¿hay alguna forma de cambiar eso? RMcLeod
@RMcLeod Soy nuevo en jpgraph, pero como lo entiendo, genera una imagen, no un código html. Richard

Tu respuesta

1   la respuesta
7

SetMarginColor Es uno de los dos comandos que necesitas. También necesitas usarSetFrame

$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);

Esto produce una imagen como esta.

Gracias Andy! que hizo el truco Richard

Preguntas relacionadas