2023-06-03
データをいい感じに表示するオープンソースなライブラリ探索。「Comparison of JavaScript charting libraries - Wikipedia」で見つけた、C3.js


「C3.js | D3-based reusable chart library」

公式サイトもステキでいい感じ。最終更新が2020年8月とそこそこ新しい。GitHubを見るとStar9,300となかなかの人気!依存ライブラリはD3.jsのみと構成もシンプルでいい。

プログラムはTypeScriptで書かれており、ESモジュールとして生成された c3.esm.js は、そのままブラウザからインポートしても動かず。windowオブジェクトの SVGPathElement などを使っていることが分かったので、初期化メソッドinitC3で囲み、ついでにCSSも読み込む形に後処理で生成するDeno用JavaScriptプログラム make_c3-es.js を追加して対応。D3は最新のv7ではなく、v5で作られている。

下記のようなHTMLを書くだけで、グラフ表示できるようになりました。 <div id="chart"></div> <script type="module"> import { initC3 } from "https://code4fukui.github.io/c3-es/c3-es.js"; const c3 = initC3(window); const chart = c3.generate({ bindto: '#chart', data: { columns: [ ['data1', 30, 200, 100, 400, 150, 250], ['data2', 50, 20, 10, 40, 15, 25] ] } }); </script> デモサイトでも確認できます。


「demo - c3-es forked C3.js」


「c3-es forked C3.js src on GitHub」

使い方は、C3.jsそのままです。多数のサンプルや、公式リファレンスを参考に、いろんなデータをビジュアライズしてみましょう!

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS