5年ぶりくらいにphplotを使いました。今回は円グラフの描画なのですが、標準だと開始位置が3時の方向から反時計周りになります。それを修正します。
サンプルは以下のページを使用しました。
「PHPlot Examples, Chapter 5, 5.8. Example - Pie Chart, text-data-single」http://www.phplot.com/phplotdocs/ex-pie1.html
![開始位置が3時の方向から反時計周り](https://blogimg.goo.ne.jp/user_image/70/86/9a4220c61e218d80ea0a4a6b3691bf1b.png)
ググったところ以下のページを発見。参考にさせて頂きました。ありがとうございます。
紙袋備忘録「phplotの円グラフ」 http://ash-boost.jugem.jp/?eid=15
使用するバージョンが今日時点での最新 6.1.0 なので、このページとは記述が異なります。
phplot.php の修正する箇所は
■ 5414行目
修正前
$mid_angle = deg2rad($start_angle + $arc_angle / 2);
修正後
$mid_angle = deg2rad(90 - ($start_angle + $arc_angle / 2));
■ 6252, 6253行目
修正前
$arc_start_angle = (int)(360 - $start_angle);
$arc_end_angle = (int)(360 - $end_angle);
修正後
$arc_start_angle = (int)($end_angle + 270);
$arc_end_angle = (int)($start_angle + 270);
■ 6356,6357行目
修正前
$arc_start_angle = (int)(360 - $start_angle);
$arc_end_angle = (int)(360 - $end_angle);
修正後
$arc_start_angle = (int)($end_angle + 270);
$arc_end_angle = (int)($start_angle + 270);
![開始位置が12時の方向から時計回り](https://blogimg.goo.ne.jp/user_image/2a/3e/8da1be42c5e2b7c5d3f58cd809c6b60c.png)
これで、12時の方向から時計回りになりました。
---- 追記 ----
後日、同業の人に「グラフってなにで書いてる?」って聞くと「Google チャート」だそうです。
ということで早速調べてみたら、こっちのほうが良さそうです。
サンプルは以下のページを使用しました。
「PHPlot Examples, Chapter 5, 5.8. Example - Pie Chart, text-data-single」http://www.phplot.com/phplotdocs/ex-pie1.html
![開始位置が3時の方向から反時計周り](https://blogimg.goo.ne.jp/user_image/70/86/9a4220c61e218d80ea0a4a6b3691bf1b.png)
ググったところ以下のページを発見。参考にさせて頂きました。ありがとうございます。
紙袋備忘録「phplotの円グラフ」 http://ash-boost.jugem.jp/?eid=15
使用するバージョンが今日時点での最新 6.1.0 なので、このページとは記述が異なります。
phplot.php の修正する箇所は
■ 5414行目
修正前
$mid_angle = deg2rad($start_angle + $arc_angle / 2);
修正後
$mid_angle = deg2rad(90 - ($start_angle + $arc_angle / 2));
■ 6252, 6253行目
修正前
$arc_start_angle = (int)(360 - $start_angle);
$arc_end_angle = (int)(360 - $end_angle);
修正後
$arc_start_angle = (int)($end_angle + 270);
$arc_end_angle = (int)($start_angle + 270);
■ 6356,6357行目
修正前
$arc_start_angle = (int)(360 - $start_angle);
$arc_end_angle = (int)(360 - $end_angle);
修正後
$arc_start_angle = (int)($end_angle + 270);
$arc_end_angle = (int)($start_angle + 270);
![開始位置が12時の方向から時計回り](https://blogimg.goo.ne.jp/user_image/2a/3e/8da1be42c5e2b7c5d3f58cd809c6b60c.png)
これで、12時の方向から時計回りになりました。
---- 追記 ----
後日、同業の人に「グラフってなにで書いてる?」って聞くと「Google チャート」だそうです。
ということで早速調べてみたら、こっちのほうが良さそうです。
※コメント投稿者のブログIDはブログ作成者のみに通知されます