Are you getting enough sleep?

いつも眠い.これが睡眠負債というやつか.

PHP5 から PHP7 へ,mysql は?

サーバー移行のため,PHPも7にした.
それで,mysql 関連が PHP: MySQLi - Manual と "i" がつくようになったのね.

本業ではないので,知らずに30分程悩みました.

JpGraph

いつも忘れる,変更点をメモ.

php.ini の700行目くらいにある,下記を変更.

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
include_path = ".:/home/JpGraph/src"

必要に応じて,jpg-config.inc.php を変更すること. http://www.asial.co.jp/jpgraph/manual/jpgraph_manual/13CodedefinesinJpGraph.html が参考.

"INSTALL_PHP_ERR_HANDLER", false
"CATCH_PHPERRMSG", true
"USE_LIBRARY_GD2",false
"USE_IMAGE_ERROR_HANDLER",true

php-fpm の socket を変更すること.

Line と Bar が混在するとき

下記は,別のサイトで書いていたものですが,そちらを閉鎖するので忘れないように転載.

これがちょっとめんどくさい. まずは,EX.http://jpgraph.net/download/manuals/chunkhtml/ch14s10.html#fig.dateutilex02|Using a date/time scale Chapter 14. Common features for all Cartesian (x,y) graph types
今回は,このページの Using the "DateScaleUtils" class to make manual date scale を使います. ここに表があるのですが,Date type を指定して,どれだけ X軸を区切るか決めます.
他に例題として,http://jpgraph.net/doc/howto1.php|http://jpgraph.net/doc/howto1.php があります.
これは,棒グラフもですが折れ線グラフもこの方法により,X軸を同じスケールにしています. 問題は,X軸のcaptionなんですよね. 日付をどうするかがなかなか決まらない.

これで,strtotimeでUNIX秒にしたものと一緒にしてどう区切るか決める.

// X-position
list($tickPositions, $minTickPositions) = DateScaleUtils::GetTicks($dbDate, DSUTILS_DAY1);

あとは使いかた.
Y2Scaseは2軸にしているから.
$dbDate[0] から $dbDate[$count] まで表示するよということですね.$countは$dbDateの配列数です.

<code>
$graph_r=new Graph(720, 300);
$graph_r->SetScale('linlin', 0, 0, $dbDate[0], $dbDate[$count]);
$graph_r->SetY2Scale('lin', 0, 4);
$graph_r->SetMargin(60,60,10,60);
$graph_r->SetMarginColor('white');
$graph_r->SetFrame(false);
$graph_r->SetBox(true);
$graph_r->xgrid->Show();
$graph_r->ygrid->Show();
</code>
折れ線

折れ線を切りたいのですよ. 例えば値が 0 ならその日は表示しないとかね.
たぶん,http://jpgraph.net/download/manuals/chunkhtml/ch13s06.html|Different types of NULL data handling Chapter 13. Getting hold of the data to be displayed でできると思うからやってみよう.