どの可視化ツールを使うか迷っていますか? 各ライブラリの長所と短所を説明します
このガイドは、より深い例をいくつか追加しました。 最新版はこちらのブログでご覧いただけます。
Python の視覚化を始める場合、ライブラリやサンプルの数に圧倒されるかもしれません。
- Matplotlib
- Seaborn
- Plotly
- Bokeh
- Altair
- Folium
データフレームが視覚化待ちならどれを選べばいいのか? いくつかのライブラリは、他のライブラリよりも特定のケースで優れているかもしれません。 この記事では、それぞれの長所と短所を紹介します。 この記事の終わりには、各ライブラリのさまざまな機能を区別できるようになり、最適なものを簡単に選択できるようになります。
サンプル データセットを使用し、いくつかの特定の属性に焦点を当てながら、各ライブラリを使用してそれを調査します。
Matplotlib などの一部のライブラリは、視覚化を画像としてレンダリングするため、(論文、スライドデッキ、プレゼンテーションで)概念を説明するのに適しています。
一方、Altair、Bokeh、Plotly などのライブラリでは、ユーザーが自分で飛び込んで探索できるインタラクティブなグラフを作成することができます
構文および柔軟性
それぞれのライブラリでの構文の相違はどの程度ですか? Matplotlib のような低レベルのライブラリでは、考えられる限り何でもできますが、その代償としてより複雑な API が必要です。 Altair などの一部のライブラリは非常に宣言的で、データへのマッピングが容易です。
データの種類と視覚化
地理プロット、大規模データ、または特定のライブラリによってのみサポートされているプロットタイプの使用など、特殊な使用ケースで作業していますか。
Data
比較を容易にするために、この記事では Github からスクレイピングした実際のデータを使用することにします。
Pythonのレポートを公開・共有するPythonフレームワーク・APIのDatapaneを使って、それぞれのライブラリの可視化したものを埋め込んでいこうと思う。 もっと実例を見たい方は、Datapane gallery のユーザー投稿レポートをご覧ください。
記事を追うには、ここから csv ファイルをダウンロードするか、Datapane Blob から直接データを取得します。
import datapane as dpdp.Blob.get(name='github_data', owner='khuyentran1401').download_df()
Blob を使用するには、事前にトークンを使用して Datapane にログインすることを忘れないようにしましょう。 これは 1 分未満で完了します。
Matplotlib
Matplotlib はおそらく、データを視覚化するための最も一般的な Python ライブラリでしょう。 データサイエンスに興味のある人なら、おそらく誰もが一度は Matplotlib を使ったことがあるでしょう。
Pros
- データの特性を簡単に見ることができる
データ分析をするとき、分布を素早く見ることが理想的かもしれません。
Matplotlib の x 軸はよく見えないけれども、グラフを見てデータの分布がよく分かった。
2. 何でも描ける
Matplotlib は非常に多機能で、つまり想像しうるどんな種類のグラフでも描けるのです。 Matplotlib の Web サイトには、非常に包括的なドキュメントと、ギャラリーにあるさまざまなグラフがあり、あなたが思いつくどんなおかしなプロットでも、簡単にチュートリアルを見つけることができます。
こんなテキストもあります:
Cons
Matplotlib は何でも描画できますが、基本でないプロットの描画や見栄え良くプロットを調整するには複雑かも知れません。
分布を視覚化するには十分なプロットであっても、データを他の人に表現したい場合は、X軸、Y軸を修正する必要があり、手間がかかります。 これは、Matplotlib が極めて低レベルなインターフェースを持っているからです。
Takeaway: Matplotlib は何でも描画できますが、複雑なプロットは他のライブラリよりはるかに多くのコードを必要とするかもしれません
Seaborn は Matplotlib をベースにした Python データ可視化ライブラリです。 4255>
Pros
- Less code
It provides a higher-level interface for similar plots.It provides a higher-level wrapper on the library which makes it easier to use.
Seaborn is a Python data visualization library based on Matplotlib. 別の言葉で言うと、seaborn は一般的に matplotlib と同様のプロットを提供しますが、より少ないコードとより良いデザインです。
以前と同じデータを使用して、同様のグラフのヒートマップを描きます。