23
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

jsのグラフライブラリ52選 その1

Last updated at Posted at 2016-02-14

JavaScriptでグラフを描くために

javascriptでグラフを描くときに、やはりライブラリを使用しないといろいろ苦労する。ので、当然、ライブラリを使うことになろうと思います。

しかしながら、意外にもグラフライブラリは数も多く、

  • そもそもどんなライブラリが存在するのか
  • ライセンス形態は?有料?無料?
  • 描けるグラフの種類は?
  • あわよくば、アニメーションとかしちゃう?

など、使うまでの道のりもちょっと面倒です。

しかし、そんな時に有用なサイトがありました。

JavaScript graphs

書きたいグラフ、商用利用できるのかどうか、などを選択するだけで、選択肢が絞り込めます。そんな感じで、いくつか選んで触ってみたので、その感想を書きたいと思います。

graphライブラリを触ってみた。

基本的には、個人で触るので、無料で使えるものだけを触ってみました。一度に書くのは面倒なので、少しずつ書くことにします。

Canvasjs

良かった点

デザイン

Canvasjsを選んだ理由は、ズバリかっこよさです。フラットデザインでシンプル、そしてデフォルトの色使いがくどくない、ところがミソでした。
細かいチューニングもできて、グラフのアニメーションもできました。

軽量さ

グラフ描画が軽かった!
他のライブラリだと、ライセンスのこともあるのでしょうか、裏で通信したりしているようです。そのため、描画が重たいものも珍しくなかったです。

微妙な点

ライセンス

個人的には、ライセンスでした。ライセンスはCreative Commons Attribution-NonCommercial 3.0 となっています。詳細は、リンク先を読んでもらうとして、Canvasjsの公式サイト(2016/2/14時点)には、

  • a non-profit
  • student or an educational institute
    なら無料で使えると明言されています。
    アファリエイトは微妙ですね。そして、(製品やサービスへ組み込まないにしても)企業で使ってみるのもほぼ黒いグレーだな・・・というのが残念ポイントでした。

バグ

bootstrapと組み合わせて使っていた時、floatシステムの中で回りこみさせつつグラフが描画できないというバグがあったのです。
バグの内容は、以下です。

jquery.canvasjs.min.js:261:0
IndexSizeError: Index or size is negative or greater than the allowed amount

どうやらググってみると、canvasjsというよりcanvasのバグのような気がしますが、いずれにしろ、グラフ描画できなかったのは事実です。グラフが描きたいだけで、どうしてもこのライブラリである必要もないので、このライブラリを使うことをやめることにしました。

今日はここまで。

2016/2/18追記

上記のバグかも、と書いた内容ですが、回避策がありました。
どうやら、グラフを描画するためのpx数を算出するロジックで、widthを明示しておかないと、0の計算が発生するようです。これが原因で、グラフの描画ができなかったようです。

ので、cssでwidthを明示しておいてあげると、グラフの描画ができるようになりました。

23
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?