Canvas 2Dベースの高速で軽量、さまざまなタイプのチャートに対応できるオープンソースのチャートライブラリ・「μPlot」

Ads

μPlot

μPlotは高速で軽量、さまざまなタイプのチャートに対応できるオープンソースのチャートライブラリです。Canvas 2Dベースで描かれます。

非依存で単体で動作、マルチ時系列や面グラフ、棒グラフ、折れ線やローソク足の他、様々なタイプのデータをチャート化する事が可能です。

代わりに、軽量高速を実現する為にアニメーションエフェクトやデータの集計や合計、統計処理の他、先発のチャートライブラリによく含まれる「チャートの描写に不要な機能」を削いだみたいです。

以下は他のチャートライブラリとのパフォーマンスの比較表です。

| lib            | size    | done    | js,rend,paint,sys | heap peak,final | interact (10s)      |
| -------------- | ------- | ------- | ----------------- | --------------- | ------------------- |
| uPlot          |   26 KB |   68 ms |   99   3   4   68 |  12 MB   4 MB   |  196  458  135  264 |
| Chart.js-next  |  222 KB |  189 ms |  275   3   3   95 |  32 MB  21 MB   | 3411   35  112 6322 |
| LightningChart |  964 KB |  --- ms |  378   4   2   70 |  24 MB  18 MB   | 9647   32   59  113 |
| dygraphs       |  125 KB |  190 ms |  286   5   3  174 |  57 MB  46 MB   | 2329  272  333  415 |
| CanvasJS       |  477 KB |  320 ms |  400   4   2  103 |  40 MB  25 MB   | 2282  541  337  481 |
| Flot           |  494 KB |  320 ms |  205   7   6  307 |  24 MB  24 MB   | ---                 |
| dvxcharts      |  369 KB |  347 ms |  633  41  45   72 |  42 MB  24 MB   | 1476  891  294  280 |
| Highcharts     |  381 KB |  --- ms |  757   9   2   63 |  27 MB  23 MB   | 1986  780  207  311 |
| Chart.js       |  245 KB |  668 ms |  747   6   7  174 |  82 MB  76 MB   | 5565    5   13 4111 |
| Plotly.js      | 3400 KB |  483 ms |  849  10   4   87 |  39 MB  24 MB   | 1601  216   58  203 |
| ECharts        |  781 KB |  --- ms |  789   4   9 1119 |  79 MB  79 MB   | 2027   64   59 7696 |
| ApexCharts     |  459 KB |  --- ms | 2298  30 135   61 | 151 MB 151 MB   | 2223  259 7802   66 |
| ZingChart      |  857 KB | 2632 ms | 2934   8   1   68 | 121 MB  97 MB   | ---                 |
| amCharts       | 1200 KB | 6147 ms | 7159  56  15  112 | 251 MB 251 MB   | 6244 1163  598  448 |

サンプルもドキュメントも用意があるのでチェックしてみてください。ライセンスはMITとの事です。

μPlot