ホームページ  >  記事  >  バックエンド開発  >  強力なオープンソース Python 描画ライブラリ

強力なオープンソース Python 描画ライブラリ

王林
王林転載
2023-05-11 12:07:051373ブラウズ

功能强大的开源 Python 绘图库

私がこれまで matplotlib を使用してきた理由は、その複雑な構文を学ぶためであり、そのために何百時間もの時間コストが「費やされ」てきました。そのため、私は「日付のフォーマット」や「2 番目の Y 軸の追加」の方法を StackOverflow で検索することを数え切れないほど深夜に費やすことになりました。

しかし、現在では、使いやすく、文書が充実しており、強力なオープンソースの Python プロット ライブラリである Plotly など、より良い選択肢があります。今日は、非常に単純な (たった 1 行でも!) コードでより良いチャートを描画する方法を詳しく説明します。

この記事のすべてのコードは Github でオープンソース化されており、すべてのグラフはインタラクティブです。表示するには Jupyter ノートブックを使用してください。

(Github ソース コード アドレス: https://github.com/WillKoehrsen/Data-Analysis/blob/master/plotly/Plotly Whirlwind Introduction.ipynb)

功能强大的开源 Python 绘图库

(plotly で描画されたチャートの例。画像ソース:plot.ly)

Plotly の概要

plotly の Python パッケージは、plot.js をベースにしたオープン ソース コード ライブラリです。 d3.jsに基づいています。実際に使用するのは、plotly をカプセル化するカフリンクスと呼ばれるライブラリです。これにより、plotly と Pandas データ テーブルを連携して使用することが容易になります。

*注: Plotly 自体は、いくつかの異なる製品とオープンソース ツールセットを備えた視覚化テクノロジー企業です。 Plotly の Python ライブラリは無料で使用できます。オフライン モードでは無制限にチャートを作成できます。オンライン モードでは、Plotly の共有サービスを使用するため、生成および共有できるチャートは 25 個までです。

この記事のすべての視覚化チャートは、オフライン モードでプロットリー カフリンクス ライブラリを使用して、Jupyter Notebook で完成されました。 pip install cufflinks Lotly を使用してインストールを完了した後、次のコードを使用して Jupyter でのインポートを完了できます。

功能强大的开源 Python 绘图库

単一変数分布: ヒストグラムと箱ひげ図チャート

一変量分析チャートはデータ分析を開始する際の標準的な手法であることが多く、ヒストグラムは基本的に一変量分布分析に必要なチャートの 1 つです (ただし、まだいくつかの欠点があります)。

ブログ投稿の「いいね!」の合計数を例として取り上げて (元のデータについては Github を参照: https://github.com/WillKoehrsen/Data-Analysis/tree/master/medium)、簡単なインタラクティブなヒストグラム :

功能强大的开源 Python 绘图库

(コード内の df は標準の Pandas データフレーム オブジェクトです)

功能强大的开源 Python 绘图库

(plotly を使用して作成されたインタラクションカフリンクス ヒストグラム)

すでに matplotlib に慣れている学生の場合は、さらに 1 文字入力するだけ (.plot を .iplot に変更する) だけで、より美しく見えるインタラクティブなグラフが得られます。画像上の要素をクリックすると、詳細情報が表示され、ズームインおよびズームアウトし、(次で説明します) 画像の特定部分のフィルタリングなどの機能が強調表示されます。

積み上げ縦棒グラフを描画したい場合は、これを行うだけです。

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

#単純な単純な操作を実行するだけです。 pandas データ テーブルの操作 棒グラフを処理して生成します。

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

上記のように、plotly カフリンクスとプロットの機能を統合できます。 Together のパンダ。たとえば、最初に .pivot() を使用してピボット テーブル分析を実行し、次に棒グラフを生成できます。

たとえば、さまざまな出版チャネルの各記事によってもたらされた新しいファンの数を数えます:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

インタラクティブなグラフの利点は、データを探索し、分析のためにサブ項目を自由に分割できることです。箱ひげ図は多くの情報を提供しますが、特定の値が見えないと、多くの情報を見逃してしまう可能性があります。

散布図

散布図は、ほとんどの分析の中核となる内容であり、時間の経過に伴う 1 つの変数の変化、または変数間の関係における 2 つ (またはそれ以上) の変化を確認できます。

時系列分析

現実の世界では、データのかなりの部分に時間要素が含まれています。幸いなことに、plotly カフリンクスには、時系列の視覚分析をサポートする機能が組み込まれています。

私が「Towards Data Science」Web サイトに公開した記事データを例に、公開時間を指標としてデータセットを構築し、記事の人気がどのように変化するかを見てみましょう。

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

上の図では、1 行のコードでいくつかのことを実現しています。

    # 美しい時刻を自動的に生成するシリーズ X 軸
  • 2 つの変数の範囲が一致しないため、2 番目の Y 軸を追加します
  • ## マウスをホバーしたときに表示されるラベルに記事タイトルを入力します
  • より多くのデータを表示するには、テキスト注釈を簡単に追加できます:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库 (テキスト注釈付き散布図)

以下のコードでは、3 番目のカテゴリ変数によって 2 変数の散布図に色を付けます。もう少し複雑な対数軸について説明します。これを実現するには、plotly のレイアウト パラメーターを指定し (さまざまなレイアウトについては、公式ドキュメント https://plot.ly/python/reference/ を参照してください)、ポイントのサイズ (サイズ パラメーター) と数値変数read_ratio(読み取り率)がバインドされており、数値が大きいほどバブルのサイズが大きくなります。

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库もっと複雑にしたい場合は (詳細は Github のソース コードを参照)、1 つの画像に 4 つを詰め込むこともできます。 ! (ただし、実際にこれを行うことはお勧めしません)

#以前と同様に、パンダとプロットカフリンクスを組み合わせて、多くの便利なグラフを作成できます:功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

# 公式ドキュメントまたはソース コードを確認することをお勧めします。これらには、より多くの例と関数インスタンスが含まれています。わずか 1 ~ 2 行のコードで、元の対話型機能を維持しながら、テキスト注釈、補助線、最適線などの便利な要素をグラフに追加できます。 功能强大的开源 Python 绘图库

高度な描画機能

次は、あまり使う機会はないかもしれませんが、上手に使いこなせば感動すること間違いなしの特殊なチャートをいくつか紹介していきます。人々。たった 1 行のコードで素晴らしいチャートを生成できる、plotly の Figure_factory モジュールを使用します。

功能强大的开源 Python 绘图库散布図行列

多くの異なる変数間の関係を調べたい場合は、散布図行列 (SPLOM とも呼ばれる) が最適です。 功能强大的开源 Python 绘图库

#このような複雑なグラフィックでも完全にインタラクティブであるため、データをより詳細に調査できます。

関係ヒート マップ

複数の数値変数間の関係を反映するために、それらの相関関係を計算し、ラベル付きヒート マップの形式で視覚化できます:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

カスタマイズされたテーマ

無限の種類のグラフに加えて、Cufflinks にはさまざまな色付けテーマも用意されており、異なるグラフ スタイルを簡単に切り替えることができます。次の 2 つの図は、それぞれ「space」テーマと「ggplot」テーマです。

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

##さらに、3D チャート (表面) もあります。バブル Bubble):

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

リサーチに興味のあるユーザーにとって、円グラフを作成するのは難しくありません:

功能强大的开源 Python 绘图库

Plotly Chart Studio での編集

Jupyter Notebook でこれらのグラフを生成すると、グラフの右下隅に「」という小さなリンクが表示されることがわかります。 「plot.ly」にエクスポートします。このリンクをクリックすると「チャートワークショップ」(https://plot.ly/create/)にジャンプします。

ここでは、最終プレゼンテーションの前に図をさらに修正して磨きをかけることができます。注釈を追加したり、特定の要素の色を選択したり、すべてを整理して素晴らしい図を作成できます。後で、それを Web 上に公開して、他の人がレビューできるリンクを生成することもできます。

次の 2 つの写真はチャート ワークショップで作成されたものです:

功能强大的开源 Python 绘图库

功能强大的开源 Python 绘图库

ここまで述べたので、読んでみてください。全部見るのに飽きましたか?ただし、このライブラリのすべての機能を使い果たしたわけではありません。スペースの制限により、より適切なチャートと例がいくつかあるため、plotly と cufflinks の公式ドキュメントにアクセスして、1 つずつ確認してください。

功能强大的开源 Python 绘图库

(米国全土の風力発電所のデータを示すインタラクティブなマップをプロットします。出典: plot.ly)

最後に...

サンクコストの誤謬の最悪の点は、人々がこれまでの努力を放棄したときに初めてどれだけの時間を無駄にしたかに気づくことが多いことです。

図面ライブラリを選択する場合、最も必要な機能は次のとおりです。

データをすばやく探索するには 1 行のコード チャートが必要です。

    分割/インタラクティブな要素を必要とします。調査データ
  • 必要に応じて詳細をドリルダウンするオプション
  • 最終プレゼンテーション前に簡単にカスタマイズ
今後は、Python 言語を使用して目標を達成するのが最善の選択です上記の関数はプロットです。これにより、視覚的な図を迅速に生成でき、インタラクティブな機能により情報をより深く理解できるようになります。

プロットを作成することがデータ サイエンスの仕事で最も楽しい部分であることは間違いなく認めますが、プロットを使用すると、これらのタスクを完了することがさらに楽しくなります。

功能强大的开源 Python 绘图库

(グラフを使用して、Python で描画する喜びが時間の経過とともにどのように変化するかを示します。出典はwardsdatascience.com です)

2022 年はあなたをアップグレードするときですPython 描画ライブラリを使用して、データ サイエンスと視覚化でより速く、より強く、より美しくなりましょう。

以上が強力なオープンソース Python 描画ライブラリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。