【2017年度版】いざというときに活躍するJavaScriptチャートライブラリ15選
高度情報化社会やビッグデータ時代と呼ばれている現代において、データビジュアライゼーション(データの視覚化)は注目されている分野の一つです。
アプリだけでなくWebサイトにおいても、ダッシュボード画面などで、大量のデータの中から意味のある情報を、分かりやすいUIを使って表示する機会が増えています。
ホームページにこのようなデータを表示するときに役立つのが、JavaScriptベースのチャート・グラフライブラリです。
操作性が優れていたり、さまざまな種類のチャートやグラフを表示したり、レスポンシブ対応していたりと、さまざまな機能を持つチャートライブラリが存在します。
今回は、2017年に試してみたい、いざという時に活躍するJavaScriptライブラリを集めました。
ほどんどのライブラリが商用利用も可能で、汎用性があります。
次のプロジェクトで採用できそうなライブラリをぜひ探してみてください。
いざというときに活躍するJavaScriptチャートライブラリ
1. D3.JS
現在最も広く使われていて人気のあるJavaScriptの描画ライブラリのひとつが、D3.JSです。
D3.JSを使えば、HTML・SVG・CSSを使ってデータの描画を行うことができます。
実際にはD3.JSはデータビジュアライゼーションに特化しているというよりは2D・3Dのデータモデリングを行うライブラリですが、パワフルなビジュアライゼーションコンポーネントを兼ねそろえており、DOM操作を行うこともできるのでチャート作成にも便利です。
2. Recharts
https://github.com/recharts/recharts
RechartsはReactとD3.JSを使ったチャートライブラリです。
複雑なコードを書くことなくReactの文法を使って簡単にグラフやチャートを作成することができます。
また、すでに50種類以上のすぐに使えるコンポーネントが用意されているので、グラフを再利用しながら作成することも可能です。
3. GraphicsJS
https://github.com/anychart/graphicsjs
GraphicsJSはSVG/VLMを用いてAPIで操作することができる軽量のJavaScriptグラフィックライブラリです。
GraphiscJSを使って作成したSVG/VLM中では、テキストインデントや字間・行間などを調整することができます。
また、クロスブラウザー・クロスプラットフォーム対応で、MacやiPhone、Windows PCやAndroidなどさまざまなデバイス、さらには驚くべきことにIE6まで標準でサポートしています。
4. Cesium
Cesiumは高画質の3D地球儀・2Dマップを使ったWebGLベースのJavaScriptグラフィックライブラリです。
グラフとは異なりますが、気象シミュレーションやヒートマップなど、地図を使ったさまざまなグラフィックを作成することができます。
5. g9.js
https://github.com/bijection/g9
g9.jsはインタラクティブなグラフィックを自動的に作成するJavaScriptライブラリです。
データを表す図形を描画する短いコードを書くだけで、ドラッグやマウスホバーで操作可能なチャートやグラフを作成できます。
6. Graphart
https://github.com/styopdev/graphart
GraphartはHTML5 CanvasとJavaScriptを使ったライブラリで、あらゆるブラウザで完全にレスポンシブ表示できるリッチデータを表示することができます。
複数のグラフを重ねたりさまざまな指標を追加したりとさまざまなカスタマイズが可能なので、複雑なグラフを作成したい時に活躍します。
7. VivaGraphJS
https://github.com/anvaka/VivaGraphJS
VivaGraphJSは高速で複雑な描画を実行できるJavaScriptライブラリです。
汎用性が高くさまざまなレンダリングエンジンに対応しており、他のライブラリにはない個性的なグラフを描くことができます。
8. MetricsGraphics.js
http://www.metricsgraphicsjs.org/
MetricsGraphics.jsはグラフやチャートだけでなく時系列をもったデータの表示にも最適なD3JSを使ったJavaScriptライブラリです。
典型的なグラフをレスポンシブ対応で簡単に表示することができます。
棒グラフや線グラフ、散布図だけでなく、ヒストグラムやデータテーブルなどもサポートしています。
9. FancyGrid
FancyGridはテーブルを使った総合的なデータ整理を行うことができるJavaScriptのグリッドライブラリです。
ページングや並べ替え、Ajaxやファイルの読み込み、サーバーとのREST通信、タッチディスプレイ対応、Angular JS対応など、さまざまな機能をサポートしています。
データの項目が多い場合に最適なライブラリです。
10. Circles
http://www.lugolabs.com/circles
CirclesはシンプルなSVGベースの円グラフ描画に特化した軽量のJavaScriptライブラリです。
他のライブラリに依存することなく、短いコードで簡単な円グラフを作成することができます。
デザインも非常にシンプルで使いやすそうです。
11. cola.js
https://github.com/tgdwyer/WebCola
cola.jsはさまざまな要素を線でつなぐことができる、HTML5を活用したオープンソースのJavaScriptライブラリです。
D3JSやsvg.jsなど他のライブラリと組み合わせて使用することができます。
12. plotly.js
https://github.com/plotly/plotly.js/
plotly.jsは3DチャートやSVGマップなどを含めた20種類ものチャートに対応したオープンソースのJavaScriptライブラリです。
ダウンロード版のほか、1行のコードを差し込むだけで使うことができるCDN版も用意されています。
13. CHARTIST.JS
http://gionkunz.github.io/chartist-js/
CHARTIST.JSはSVGを使ったレスポンシブ対応のグラフを描画できるシンプルなJavaScriptライブラリです。
10KBと非常に軽量で、HTML・JavaScript・CSSで自由にデザインをカスタマイズすることができます。
14. Chart.js
Chart.jsはデザイン性に優れたクライアントサイドのオブジェクト指向のJavaScriptとHTML5のライブラリです。
IE7/8を含めたすべてのモダンブラウザに対応しています。
サイズも圧縮版なら4.5KBと軽量で、カスタマイズ可能なオプションもたくさんあります。
15. FusionCharts
FusionChartsは美しいインタラクティブなチャートを作成することができる軽量のJavaScriptライブラリです。
FusionChartsではSVGを使ってチャートを描画し、ガントチャートやファネルチャート、ウォーターフォールチャートなどあらゆる種類のユニークなチャートをサポートしています。
他のライブラリにはない複雑なグラフやチャートを作成したいときにオススメです。
- ビッグデータ
- ビッグデータとは、一般に、インターネットの普及とITの進化によって生まれた、事業に役立つ知見を導くためのデータのことを指します。「データの多量性」だけでなく、「多様性」があるデータを指します。
- アプリ
- アプリとは、アプリケーション・ソフトの略で、もとはパソコンの(エクセル・ワード等)作業に必要なソフトウェア全般を指す言葉でした。 スマートフォンの普及により、スマートフォン上に表示されているアイコン(メール・ゲーム・カレンダー等)のことをアプリと呼ぶことが主流になりました。
- Webサイト
- Webサイトとは、インターネットの標準的な情報提供システムであるWWW(ワールドワイドウェブ)で公開される、Webページ(インターネット上にある1ページ1ページ)の集まりのことです。
- UI
- UIとは、ユーザーインターフェイス(User Interface)の略で、ユーザー(使い手)とデバイスとのインターフェイス(接点)のことを意味します。
- ページ
- 印刷物のカタログやパンフレットは、通常複数のページから成り立っています。インターネットのホームページもまったく同じで、テーマや内容ごとにそれぞれの画面が作られています。この画面のことを、インターネットでも「ページ」と呼んでいます。ホームページは、多くの場合、複数ページから成り立っています。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- テキスト
- テキストとは、純粋に文字のみで構成されるデータのことをいいます。 太字や斜線などの修飾情報や、埋め込まれた画像などの文字以外のデータが表現することはできませんが、テキストのみで構成されたテキストファイルであれば、どのような機種のコンピューターでも共通して利用することができます。
- フォーム
- フォームとは、もともと「形」「書式」「伝票」などの意味を持つ英単語です。インターネットの分野では、パソコンの操作画面におけるユーザーからの入力を受け付ける部分を指します。企業のホームページでは、入力フォームが設置されていることが多いようです。
- Android
- Android OSとはスマートフォン用に開発された基本ソフト(OS)の一種です。米国Google社が中心となり開発されました。
- デバイス
- デバイスとは「特定の機能を持つ道具」を表す語で、転じてパソコンを構成するさまざまな機器や装置、パーツを指すようになりました。基本的に、コンピューターの内部装置や周辺機器などは、すべて「デバイス」と呼ばれます。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- ヒートマップ
- ヒートマップとは、Webマーケティングにおけるヒートマップとは、ホームページ内でのユーザーのアクションの大小を、サーモグラフィーのように表示する機能です。ユーザーがどこを一番見ているのか、マウスの動きやスクロールなどから解析し、それを色によって表します。「クリックヒートマップ」「マウスヒートマップ」「スクロールヒートマップ」「ルッキングヒートマップ」などの種類があります。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- ページ
- 印刷物のカタログやパンフレットは、通常複数のページから成り立っています。インターネットのホームページもまったく同じで、テーマや内容ごとにそれぞれの画面が作られています。この画面のことを、インターネットでも「ページ」と呼んでいます。ホームページは、多くの場合、複数ページから成り立っています。
- ディスプレイ
- ディスプレイ(display)とは、文字や図形を表示する装置のことを言います。 テレビと同じ原理のCRTディスプレイや、設置面積が小さく消費電力の少ない液晶ディスプレイや、ガス放電を利用したプラズマディスプレイなど、種類も多くあります。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
おすすめ記事
おすすめエントリー
同じカテゴリから記事を探す
カテゴリから記事をさがす
●Webマーケティング手法
- SEO(検索エンジン最適化)
- Web広告・広告効果測定
- SNSマーケティング
- 動画マーケティング
- メールマーケティング
- コンテンツマーケティング
- BtoBマーケティング
- リサーチ・市場調査
- 広報・PR
- アフィリエイト広告・ASP
●ステップ
●ツール・素材
- CMS・サイト制作
- フォーム作成
- LP制作・LPO
- ABテスト・EFO・CRO
- Web接客・チャットボット
- 動画・映像制作
- アクセス解析
- マーケティングオートメーション(MA)
- メールマーケティング
- データ分析・BI
- CRM(顧客管理)
- SFA(商談管理)
- Web会議
- 営業支援
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング
- フォント
- 素材サイト
●目的・施策
- Google広告
- Facebook広告
- Twitter広告
- Instagram広告
- LINE運用
- LINE広告
- YouTube運用
- YouTube広告
- TikTok広告
- テレビCM
- サイト制作・サイトリニューアル
- LP制作・LPO
- UI
- UX
- オウンドメディア運営
- 記事制作・ライティング
- コピーライティング
- ホワイトペーパー制作
- デザイン
- セミナー・展示会
- 動画・映像制作
- データ分析・BI
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング