Highchartsは、Webでグラフを描写するためのJavaScriptライブラリだ。
ESP8266とかIoTとかをやるようになってから、人様の作例を眺めていると、測定データをグラフに表示した例をいくつも目にする。
しかも、時々刻々測定データがサーバーにアップされ続けていて、その変化をオン・タイムで表示していたりする。
その、ほとんどがHighchartsのライブラリを使っているようだと気づいたのは最近だ。
言われてみれば、みんな似たような、そして非常に魅力的なグラフだ。
1から自分でつくるのもいいのだが、人様のグラフをアレンジして自分用にしてしまうのもいい。
そのための便利な情報もHighchartsで提供されている。
ここでは、CSVファイルから読み込んだデータでグラフを描く例をやってみる。
とたどって、http://www.highcharts.com/studies/data-module-csv.htmのソースを眺めてみる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Highcharts Example</title> <!-- 1. Add these JavaScript inclusions in the head of your page --> <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="http://code.highcharts.com/highcharts.js"></script> <script type="text/javascript" src="http://code.highcharts.com/modules/data.js"></script> <!-- 2. Add the JavaScript to initialize the chart on document ready --> <script type="text/javascript"> $(document).ready(function() { /* Load the data from the CSV file. This is the contents of the file: Apples,Pears,Oranges,Bananas,Plums John,8,4,6,5 Jane,3,4,2,3 Joe,86,76,79,77 Janet,3,16,13,15 */ $.get('data.csv', function(csv) { $('#container').highcharts({ chart: { type: 'column' }, data: { csv: csv }, title: { text: 'Fruit Consumption' }, yAxis: { title: { text: 'Units' } } }); }); }); </script> </head> <body> <!-- 3. Add the container --> <div id="container" style="width: 800px; height: 400px; margin: 0 auto"></div> </body> </html> |
これを、そのままhtmlファイルとしてサーバにアップし、
1 2 3 4 5 |
Apples,Pears,Oranges,Bananas,Plums John,8,4,6,5 Jane,3,4,2,3 Joe,86,76,79,77 Janet,3,16,13,15 |
の部分をCSVファイルとして、data.csvという名前で同じ場所にアップすればそのまま実行されてグラフが描かれる。
もとは棒グラフだが、折れ線のグラフにしたい。
1 2 3 |
chart: { type: 'column' } |
となっているあたりが該当すると思われる。
Referenceを参照して、
ここにある様々なタイプからlineを選べばいいことがわかる。
1 2 3 |
chart: { type: 'line' } |
columnをlineに変更するだけで、棒グラフだったものが折れ線グラフに変更できる。