Pergunta sobre jpgraph, php – mudar a cor da margem para um jpgraph

1

Eu estou tentando mudar a cor da margem em um jpgraph. Eu não consigo descobrir. eu tentei$graph->SetMarginColor("khaki:0.6"); mas isso parecia não fazer nada. abaixo está o código que gera um gráfico de exemplo, bem como a saída da amostra. Eu estou usando o jpgraph 3.5 se isso ajuda.

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

?>

Não usou jpgraph antes, mas você não pode descobrir qual é o html de saída do gráfico e depois alterar a margem usando css? RMcLeod
@RMcLeod Eu sou novo no jpgraph, mas pelo que entendi, ele gera uma imagem, não um código html. Richard
A borda da imagem não está alinhada com a linha vertical sobre D? Se não, então eu acho que o espaço em branco pode ser considerado como o fundo, existe uma maneira de mudar isso? RMcLeod

Sua resposta

1   a resposta
7

SetMarginColor é um dos dois comandos que você precisa. Você também precisa 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);

Isso produz uma imagem como essa

Obrigado Andy! isso fez o truque. Richard

Perguntas relacionadas