基本的にぐーたら

プログラムを始めた学生の雑記

highcharts の使い方

f:id:HutabaH:20170615122809p:plain:w600

Javascriptのグラフ描画ライブラリ「 highcharts.js 」にハマっているHutabaHです。

上の写真のような美しいグラフが簡単に作れちゃいます!


比較的シンプルな構造なので簡単に作れるのですが、複雑な機能を追求するなら色々なオプションを勉強する必要があります。

公式のリファレンスを読み解いていくのが一番いいのですが、量がありすぎてどこから始めればいいか分からないですよね。

そんな時のために、親切な公式さんがデモページをたくさん用意してくれています。


www.highcharts.com



残念ながら説明文は殆どなく、コードを自分で読み解いていかなければならないのですが、デモがあるだけでありがたいです。

しかしながら、僕みたいなJavascript初心者にとって複雑なコードはチンプンカンプンで理解できません。

実際、そこまでの機能を求める人はJavascriptの知識も十分だろうし、自身でちゃちゃっと解読されると思うので需要があるかどうか分かりませんが、僕の勉強も兼ねてhighchartsのデモグラフを一つづつ解説していこうと思います。

Javascriptに詳しくない人は、一緒にhighchartsマスターを目指しましょう。


highchartsとは


Javascriptのグラフ描画ライブラリはたくさんありますが、その中でhighchartsの特徴をあげるなら、

  • とっても綺麗
  • オプションが分かりやすい
  • 細かいところまで手を加えられる
  • 動作がかっこいい
  • 私用は無料。商用は有料

といった感じになります。

何と言っても、その美しさが素晴らしい。

商用だと有料になってしまうのが悩みどころですね。


Basic line


デモで一番初めに表示されるグラフ、 Bacis line です。

といっても、解説する必要がないくらい簡素で分かりやすい構造ですが...。


f:id:HutabaH:20170615122809p:plain


以下ソースコード

html

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8" />
  <title>Title</title>
  <script src="https://code.highcharts.com/highcharts.js"></script>
  <script src="https://code.highcharts.com/modules/exporting.js"></script>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
  <div id="container"></div>
  <script src="BasicLine.js"></script>
</body>
</html>


css

#container {
	min-width: 310px;
	max-width: 650px;
	height: 400px;
	margin: 0 auto;
}


Javascript

Highcharts.chart('container', {  //グラフ描画のテンプレート

    title: {  //グラフのタイトル
        text: 'Solar Employment Growth by Sector, 2010-2016'
    },

    subtitle: {  //グラフのサブタイトル
        text: 'Source: thesolarfoundation.com'
    },

    yAxis: {  //y軸の設定
        title: {  //y軸のタイトル
            text: 'Number of Employees'
        }
    },
    legend: {  //グラフの凡例
        layout: 'vertical',  //縦方向に並べる
        align: 'right',  //グラフの右に表示(左右中央)
        verticalAlign: 'middle'  //グラフの中央に表示(上下中央)
    },

    plotOptions: {  //点の設定
        series: {
            pointStart: 2010  //2010から書き始める
        }
    },

    series: [{  //グラフの中身(データの設定)
        name: 'Installation',  //各データの名前
        data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]  //各データ(数値)
    }, {
        name: 'Manufacturing',
        data: [24916, 24064, 29742, 29851, 32490, 30282, 38121, 40434]
    }, {
        name: 'Sales & Distribution',
        data: [11744, 17722, 16005, 19771, 20185, 24377, 32147, 39387]
    }, {
        name: 'Project Development',
        data: [null, null, 7988, 12169, 15112, 22452, 34400, 34227]  //nullに設定すると表示されません
    }, {
        name: 'Other',
        data: [12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111]
    }]

});


本当に基礎の基礎って感じですね。

ここではjQueryも使われていません。


HTMLでは2つのモジュールを読み込んでいます。

本体のhighcharts.jsと、exporting.jsです。

exporting.jsを導入すると、グラフ右上にpngやjpgで保存できるボタンが表示されます。

もちろん右上以外の場所に配置することも可能です。

グラフを保存する可能性があるならば導入しましょう。


cssはいい感じの大きさで表示するために僕が少しいじっている可能性があります。

出来上がりは写真の通りに。

デモのオリジナルが欲しければ本家サイトを覗いてください。


Javascriptの基本的な書き方は、

Highcharts.chart('要素ID', {

  オプション1: {
    設定
  },
 オプション2{
  設定
  設定
  }

};

となります。

セミコロンは基本的には必要ありません。

それぞれの設定は、コメントアウトにて説明しています。


まとめ

highchartsは綺麗なグラフを簡単に作ることが出来ます!

逆に、使い始めると追加機能を求めて止まれなくなるので注意が必要かもしれません...。

highchartsの同列モジュールとして、highstockやhighmapも提供されているので、そちらも必見です。


これからゆっくり勉強していきたいと思います。

新しいことを覚えるのって楽しいですね。

広告を非表示にする