私はjpgraphを使って簡単なグラフを作成しようとしています(これは新しいものです。私はそのウェブサイトの棒グラフの例を使っています)。丸められた数字を返すy軸。 私はウェブを検索し、textintを使用する必要があることを知りました。jpgraph textint y軸は数値の代わりに0fを返します
$graph->SetScale("textint");
$graph->yaxis->SetTickPositions(array(0,1,2,3,4,5);
何とか代わりに、私は今、y軸上のすべてのステップのため0Fを取得し、全体の数を返す:
は、だから今は、これらの2行を持っています。それは0Fになり、なぜ 私はちょうど把握することはできません:( 誰かが私のための魔法の答えを持っていますか?何を私が間違っているのか、それは値0Fにつながる作るために?
もっとコード:
$graphSettings = [
'tick_positions' => [0, 1, 2, 3, 4, 5],
'tick_labels' => ['Q1 2017', 'Q2 2017', 'Q3 2017', 'Q4 2017', 'Q1 2018'],
];
$graphs = [];
foreach ($questions as $key => $question) {
$graphs[] = $this->generateGraph($graphSettings, $question, $key);
}
public function generateGraph($settings, $question, $key) {
$data1y = $question['bar_plots']; // height of bars
// Create the graph. These two calls are always required
$graph = new \Graph(500, 200, 'auto');
$graph->SetScale("textint");
$theme_class = new \UniversalTheme;
$graph->SetTheme($theme_class);
$graph->yaxis->SetTickPositions($settings['tick_positions']); // array y numbers, array y between dashes
$graph->SetBox(false);
$graph->ygrid->SetFill(false);
$graph->xaxis->SetTickLabels($settings['tick_labels']);
$graph->yaxis->HideLine(false);
$graph->yaxis->HideTicks(false, false);
// Create the bar plots
$b1plot = new \BarPlot($data1y);
// ...and add it to the graPH
$graph->Add($b1plot);
$b1plot->SetColor("white");
$b1plot->SetFillColor("#41b6e6");
// Return the graph
$contentType = 'image/png';
ob_start();
$graph->Stroke();
$image_data = ob_get_clean();
$str = "data:$contentType;base64," . base64_encode($image_data);
return $str;
}
編集: 高さ敷石を変化させながら、私は気づきました(今は500×200ではなく、180×500)というグラフが、私が期待していた数字を表示するようになった。これはプラグイン自体のバグですか?