こんにちは、しぐれがきです。
自作のWebアプリ作成にあたり、グラフ描画ライブラリを導入しようと考えています。
一応、自作といっても公開も視野に入れたいので、事前に商用利用可能かを調査しました。
せっかく調査したので、本記事で備忘録としてまとめたいと思います。
目次
グラフ描画ライブラリへの要件
■商用利用
・商用利用可能なこと
■デザイン
・デザインが見やすいこと
■グラフの種類
・複数のグラフに対応していること
-棒グラフ
-折れ線グラフ
-円グラフ
-ドットグラフ(分散グラフ)
-曲線グラフ
調査結果
グラフ描画ライブラリ一覧
特定キーワードでググってグラフライブラリをリストアップしました。
調査方法は調査方法を参照
※紹介サイト数は検索結果が重複したものはカウントしてません。
グラフ描画ライブラリのライセンス調査結果
それぞれのWebサイトでライセンスについて調査しました。
結果は以下です。
ライブラリ | 無償商用利用 | ライセンス形態 | 補足 | |
---|---|---|---|---|
1 | amcharts |
?linkware license ?Single website license ?Single App or SaaS website license ?OEM license |
?無料だが、グラフの右下がつく →商用利用不可(ダウンロードパッケージ内のlicence.txtに記載) ?$140,?$900,?$2295(https://www.amcharts.com/online-store/) |
|
2 | c3.js | MIT License | パッケージ内のc3/LICENSEに記載 | |
3 | CanvasJS |
?Single Developer License ?Team License(upto 5 developers) ?Unlimited Developer License |
商用ライセンスがなければ、最大30日間評価目的で使用可能 (https://canvasjs.com/license-canvasjs/) 【Developer License】?$399?$999?$1999 【 Developer License with Priority Support】 ?499,?1499,?Please contact for details →24-hour turnaround time,Unlimited Email based support for one yearなどの特典があるライセンス |
|
4 | Chart.js | MIT License | パッケージ内のChart.js/LICENSE.mdに記載 | |
5 | chartist.js |
WTFPL License MIT License |
パッケージ内にAdded dual licensing WTFPL and MIT, built new version (https://github.com/gionkunz/chartist-js) |
|
6 | Google Charts | completely free |
商用利用できるみたい (https://google-developers.appspot.com/chart/interactive/faq#commercialuse) JavaScript のソースをダウンロードして使用することができない |
|
7 | gRapha?l | MIT License |
“If you need full Excel-like interactivity in a web app, look no further” エクセル的な感じで使えるかも グラフライブラリを合わせて使えそう (https://docs.handsontable.com/pro/1.11.0/tutorial-licensing.html) |
|
8 | highcharts |
?High-five License ?Highcharts – Single Developer License など |
[非商業目的には無償提供] 個人のウェブサイトや、学校サイト、あるいは非営利団体でHighchartsを使用する場合には、無償で利用できます。 商業的なウェブサイトやプロジェクトでご利用の場合には、ライセンスが必要になります。 (http://www.altech-ads.com/Others/Highcharts.htm?gclid=CLOoiPif1MMCFRUGvAodPAEA0g) ?7399円 ?59238円 |
|
9 | jqplot | MIT License | パッケージ内のMIT-LICENSE.txtに記載 | |
10 | JSCharts |
?Non-commercial license(free) ?Commercial license(not free) |
?もドメイン数や商用利用するしないで価格が変わる 1ドメインの商用利用は$79 (http://www.jscharts.com/free-download) |
|
11 | Morris.js | BSDライセンス | パッケージ内のREADME.mdに記載 | |
12 | NVD3.js | Apache License, Version 2.0 | パッケージ内のLICENSE.mdに記載 | |
13 | plotly.js | MIT License |
パッケージ内のLICENSEに記載 (https://github.com/plotly/plotly.js/blob/master/LICENSE) |
|
14 | sigma.js | MIT License |
パッケージ内のsigma.js/LICENSE.txtに記載 (https://github.com/jacomyal/sigma.js/blob/master/LICENSE.txt) |
|
15 | taucharts.js | Apache License, Version 2.0 |
パッケージ内のlicense.txtに記載 (https://github.com/TargetProcess/tauCharts/blob/master/license.txt) |
|
16 | Vis.js |
MIT License Apache License, Version 2.0 |
ライセンスについて記載 (http://visjs.org/#licenses) |
|
17 | YUI Charts | BSDライセンス |
パッケージ内のyui3/LICENSE.mdに記載 (https://github.com/yui/yui3/blob/master/LICENSE.md) |
グラフ描画ライブラリの選定
本章では要件を満たすグラフ描画ライブラリに対して、私自身が使用するグラフ描画ライブラリを1つ選定したので、そのときの観点を紹介したいと思います。
どのライブラリも多数のグラフを利用できそうなので、機能的な差異はほとんどないようです。
思ったより選択肢が残ったので、あとは人気なグラフ描画ライブラリを選ぶことにします。
Google Trendsを調べてみると人気なグラフ描画ライブラリは以下の3つだと分かりました。
・Chart.js
・jqplot
・Google Charts
※その他のグラフ描画ライブラリとの比較はグラフ描画ライブラリのトレンド調査を参照
以下の観点で、グラフ描画ライブラリの選定を行いました。
・Google Chartsは圧倒的に多いが、ダウンロードできないし、サービスが止められると使用もできなくなる
・Chart.jsとjqplotを比較するとChart.jsのほうが右肩上がりで、今後も伸びていきそう
これより、Chart.jsに決定しました。
(補足)グラフ描画ライブラリの調査
調査方法
以下の2パターンの検索キーワードで検索をして、上位4つのWebサイトで紹介しているグラフ描画ライブラリをピックアップします。
ヒットしたWebサイト
「web グラフ ライブラリ」検索結果
1.paiza開発日誌 JavaScriptでグラフ描画入門!全8個のライブラリをコード付きで一挙に解説!
<紹介されているグラフ描画ライブラリ>
・Chart.js
・Canvas.js
・Google Charts
・plotly.js
・taucharts.js
・chartist.js
・c3.js
・sigma.js
2.Qiita JSのグラフライブラリを今選ぶならHighchartsで決まり
<紹介されているグラフ描画ライブラリ>
・highcharts
・jqplot
・amcharts
・chart.js
3.Qiita チャート、グラフを書くのに良さそうなJavascriptライブラリ6選
<紹介されているグラフ描画ライブラリ>
・NVD3.js
・Vis.js
・Google Charts
・Chart.js
・HighChart.js
・CanvasJS
4.Qiita チャート、グラフを書くのに良さそうなJavascriptライブラリ6選
<紹介されているグラフ描画ライブラリ>
・Chart.js
・Highcharts
・Google Chart Tools
・CanvasJS
・plotly.js
・Morris.js
・jqPlot
・amCharts
「web グラフ ライブラリ 商用利用可能」検索結果
1.Wood-Roots:blog [jQuery/Javascript]商用利用が可能な、グラフを描画するjQueryプラグイン6選
<紹介されているグラフ描画ライブラリ>
・Chart.js
・Google Charts
・YUI Charts
・jQPlot
・gRapha?l
・morris.js
2.paiza開発日誌 JavaScriptでグラフ描画入門!全8個のライブラリをコード付きで一挙に解説!
「web グラフ ライブラリ」検索結果のNo.1と同じサイト
3.ウェブと食べ物と趣味のこと 【Webサイト】無料で使えるグラフライブラリ6選
<紹介されているグラフ描画ライブラリ>
・amCharts
・HighCharts
・JSCharts
・morris.js
・Google Charts
・Chart.js
4.Qiita JSのグラフライブラリを今選ぶならHighchartsで決まり
「web グラフ ライブラリ」検索結果のNo.2と同じサイト
(補足)グラフ描画ライブラリのトレンド調査
この章ではGoogle Chartsとjqplotを除くグラフ描画ライブラリに対してChart.jsと比較しました。
※Google Chartsとjqplotについてはグラフ描画ライブラリの選定を参照してください。
Chart.jsと{c3.js,chartist.js,Morris.js,NVD3.js}の比較
Chart.jsと{plotly.js,sigma.js,Vis.js,YUI Charts}の比較
Chart.jsと{gRapha?l,taucharts.js}の比較
まとめ
本記事ではグラフライブラリの特にフリーで商用利用可能かを重点に置いて調査しました。
グラフはWebアプリを作るときに欲しい機能だと思います。
同じように商用利用を考えている場合は、本記事を参考に検討をしてみてください。
以上!