グラフ系のライブラリって色々ありますよね。
今回はjQuery無しでもキレイなグラフを描けるC3.jsを紹介したいと思います。
目次
導入方法
ダウンロード
公式サイトにアクセスして、ソースファイルをダウンロードしてください。
[box class=”red_box” title=”ダウンロードについて”]ちょっとダウンロードがわかりにくいところにあります。
「Getting Start」→ Download the latest version here:のリンクをクリックするとGitHubのページに移動します。
そこで「Source code (zip)」をダウンロードしてください。[/box]
ダウンロードしたzipファイルを展開して、c3.min.cssとc3.min.jsを適当なディレクトリに配置しましょう。
コード
一番簡単な折れ線グラフを表示するコードを紹介します。
まずライブラリを読み込みます。
この時C3.jsだけでなく、D3.jsを読み込む必要があります。
<!-- C3.jsのCSS読み込み --> <link rel="stylesheet" href="script/c3.min.css"> <!-- D3.js読み込み(必須です) --> <script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script> <!-- C3.js読み込み --> <script src="script/c3.min.js"></script>
グラフを表示するDivタグを設定します。
<!-- グラフを表示するDivタグ--> <div id="chart"></div>
折れ線グラフを表示するスクリプトを記述。
var chart = c3.generate({
bindto: '#chart',
data: {
columns: [
['data1', 30, 200, 100, 400, 150, 250],
['data2', 50, 20, 10, 40, 15, 25]
]
}
});
[btn class=”rich_pink”]デモ確認[/btn]
代表的なグラフ
typeを指定することで、グラフの種別を変えることができます。
折れ線グラフ
var line_chart = c3.generate({
bindto: '#line_chart',
data: {
columns: [
['data1', 30, 200, 100, 400, 150, 250],
['data2', 50, 20, 10, 40, 15, 25]
]
}
});
ステップチャート
var step_chart = c3.generate({
bindto: '#step_chart',
data: {
columns: [
['data1', 300, 350, 300, 0, 0, 100],
['data2', 130, 100, 140, 200, 150, 50]
],
types: 'step'
}
});
エリアチャート
var area_chart = c3.generate({
bindto: '#area_chart',
data: {
columns: [
['data1', 300, 350, 300, 0, 0, 0],
['data2', 130, 100, 140, 200, 150, 50]
],
type:'area',
}
});
棒グラフ
var bar_chart = c3.generate({
bindto: '#bar_chart',
data: {
columns: [
['data1', 30, 200, 100, 400, 150, 250],
['data2', 130, 100, 140, 200, 150, 50]
],
type: 'bar'
}
});
円グラフ
var pie_chart = c3.generate({
bindto: '#pie_chart',
data: {
columns: [
['data1', 30],
['data2', 120],
],
type: 'pie',
}
});
ドーナツグラフ
var donut_chart = c3.generate({
bindto: '#donut_chart',
data: {
columns: [
['data1', 30],
['data2', 120],
],
type: 'donut',
},
donut: {
title: "ドーナツグラフタイトル"
}
});
ゲージグラフ
var gauge_chart = c3.generate({
bindto: '#gauge_chart',
data: {
columns: [
['data', 91.4]
],
type: 'gauge',
},
gauge: {
},
color: {
//ゲージのカラー設定
pattern: ['#FF0000', '#F97600', '#F6C600', '#60B044'],
//ゲージのカラー設定。指定の数値を超えると色が変わる
//30以上:#FF0000、60以上:#F97600、90以上:#F6C600、100以上:#60B044
threshold: {
values: [30, 60, 90, 100]
}
},
size: {
height: 180
}
});
[btn class=”rich_pink”]デモ確認[/btn]

コメント