みなさん、pythonでグラフを描くときのライブラリをいくつ知っていますか?
正直、有名なライブラリは限られるかもしれないけれど、ライブラリが多過ぎて把握しきれない・違いが理解しきれない…という人も少なくないのではないでしょうか。
そこで2017年のPyConで発表されていたもので、こちら(https://speakerdeck.com/jakevdp/pythons-visualization-landscape-pycon-2017) のスライドでは、それぞれのライブラリをベースとしているものごとにグルーピングがされており、わかりやすかったので、こちらのスライドを参考にしながらまとめていきたいと思います!
Google trendsを用いて解説をしていますが、Google Trendsとは?については別記事でまとめていますのでこちらも合わせてお読みください!
Matplotlib 系
pythonを始めたら、まずMatplotlibでグラフを描くという人も多いのではないでしょうか?
Matplotlib をベースとしたものは、多くありますがみなさんはいくつ知っていますか?
- Seaborn
- Pandas (plotメソッド)
- NetworkX
- Yellow brick
- Cartopy
- ggpy
- sckit-plot
ここまでライブラリ名を並べていきましたが、どれが注目されているのか?どれが使われているのか?というのがわかりにくいですよね。なので、今回の記事では、Google Trends を用いてどのライブラリに注目度が集まっているのか?についても紹介していきます。
pandas は、グラフ描画がメインのライブラリではないので、それ以外について考えると、
Matplotlib が 断トツの1位、そして次点でseaborn でした。ここまでは予想通りでしたが、それに続くのは、Yellow brick, NetworkX が入れ替わりながら続くという形でした!
JavaScript系
JavaScript 系のライブラリも多くありますが、Google Trendsで見てみると、
「Plotly」, 「Bokeh」の2強でした!
Plotlyは、このブログでもよく解説記事を書いているライブラリになりますが、Bokehと2019年あたりまで拮抗した後、徐々に優勢になりつつありますね!
「Bokeh」も Plotly と同じくインタラクティブな操作ができるライブラリです。
- Plotly
- toyplot
- bokeh
- bqplot
- pythree.js
- ipyleaflet
- ipyvolume
d3.js 系
- mpld3
- Vega
- Vega -Lite
- Vincent
- Altair
- d3po
その他
- DataShader
- Vaex
- holoviews
- graph-tool
- VT
- pygal
- chaco
- GR framework
- PyQTGraph
- MayaVi
- GlueViz
- Lightning
OpenGL系
- Vispy
- Glumpy
Google Trends
Google Trendsで見てみると、突出したものはなかったものの、
PyQtGraph, Vaex, holoviews, Mayavi の4つの人気度が高いという結果になりました!
おわりに
まとめてみると、著者も知らないライブラリが数多く出てきました!ここで紹介しているのは、2017年時点で存在したライブラリであるので、最新のライブラリについては網羅しきれていません。なので、最近に出てきたライブラリについてもまたまとめてみたいと思います!
気になるライブラリや詳しく知りたいライブラリがあれば別途記事として取り上げれるかと思いますので、コメントにて教えてください!
コメント