目次
Plotly の概要
散布図
関係ヒート マップ
カスタマイズされたテーマ
ホームページ バックエンド開発 Python チュートリアル 強力なオープンソース Python 描画ライブラリ

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

May 11, 2023 pm 12:07 PM
python 図面ライブラリ

功能强大的开源 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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

mysqlは支払う必要がありますか mysqlは支払う必要がありますか Apr 08, 2025 pm 05:36 PM

MySQLには、無料のコミュニティバージョンと有料エンタープライズバージョンがあります。コミュニティバージョンは無料で使用および変更できますが、サポートは制限されており、安定性要件が低く、技術的な能力が強いアプリケーションに適しています。 Enterprise Editionは、安定した信頼性の高い高性能データベースを必要とするアプリケーションに対する包括的な商業サポートを提供し、サポートの支払いを喜んでいます。バージョンを選択する際に考慮される要因には、アプリケーションの重要性、予算編成、技術スキルが含まれます。完璧なオプションはなく、最も適切なオプションのみであり、特定の状況に応じて慎重に選択する必要があります。

hadidb:pythonの軽量で水平方向にスケーラブルなデータベース hadidb:pythonの軽量で水平方向にスケーラブルなデータベース Apr 08, 2025 pm 06:12 PM

hadidb:軽量で高レベルのスケーラブルなPythonデータベースHadIDB(HadIDB)は、Pythonで記述された軽量データベースで、スケーラビリティが高くなっています。 PIPインストールを使用してHADIDBをインストールする:PIPINSTALLHADIDBユーザー管理CREATEユーザー:CREATEUSER()メソッド新しいユーザーを作成します。 Authentication()メソッドは、ユーザーのIDを認証します。 fromhadidb.operationimportuseruser_obj = user( "admin"、 "admin")user_obj。

MongoDBデータベースパスワードを表示するNAVICATの方法 MongoDBデータベースパスワードを表示するNAVICATの方法 Apr 08, 2025 pm 09:39 PM

Hash値として保存されているため、Navicatを介してMongoDBパスワードを直接表示することは不可能です。紛失したパスワードを取得する方法:1。パスワードのリセット。 2。構成ファイルを確認します(ハッシュ値が含まれる場合があります)。 3.コードを確認します(パスワードをハードコードできます)。

MySQLワークベンチはMariadBに接続できますか MySQLワークベンチはMariadBに接続できますか Apr 08, 2025 pm 02:33 PM

MySQLワークベンチは、構成が正しい場合、MariadBに接続できます。最初にコネクタタイプとして「mariadb」を選択します。接続構成では、ホスト、ポート、ユーザー、パスワード、およびデータベースを正しく設定します。接続をテストするときは、ユーザー名とパスワードが正しいかどうか、ポート番号が正しいかどうか、ファイアウォールが接続を許可するかどうか、データベースが存在するかどうか、MariadBサービスが開始されていることを確認してください。高度な使用法では、接続プーリングテクノロジーを使用してパフォーマンスを最適化します。一般的なエラーには、不十分な権限、ネットワーク接続の問題などが含まれます。エラーをデバッグするときは、エラー情報を慎重に分析し、デバッグツールを使用します。ネットワーク構成を最適化すると、パフォーマンスが向上する可能性があります

mysqlはインターネットが必要ですか? mysqlはインターネットが必要ですか? Apr 08, 2025 pm 02:18 PM

MySQLは、基本的なデータストレージと管理のためにネットワーク接続なしで実行できます。ただし、他のシステムとのやり取り、リモートアクセス、または複製やクラスタリングなどの高度な機能を使用するには、ネットワーク接続が必要です。さらに、セキュリティ対策(ファイアウォールなど)、パフォーマンスの最適化(適切なネットワーク接続を選択)、およびデータバックアップは、インターネットに接続するために重要です。

MySQLを解く方法は、ローカルホストに接続できません MySQLを解く方法は、ローカルホストに接続できません Apr 08, 2025 pm 02:24 PM

MySQL接続は、次の理由が原因である可能性があります。MySQLサービスは開始されず、ファイアウォールは接続をインターセプトし、ポート番号が間違っています。ユーザー名またはパスワードが間違っています。My.cnfのリスニングアドレスは不適切に構成されています。トラブルシューティング手順には以下が含まれます。 2.ファイアウォール設定を調整して、MySQLがポート3306をリッスンできるようにします。 3.ポート番号が実際のポート番号と一致していることを確認します。 4.ユーザー名とパスワードが正しいかどうかを確認します。 5. my.cnfのバインドアドレス設定が正しいことを確認してください。

高負荷アプリケーションのMySQLパフォーマンスを最適化する方法は? 高負荷アプリケーションのMySQLパフォーマンスを最適化する方法は? Apr 08, 2025 pm 06:03 PM

MySQLデータベースパフォーマンス最適化ガイドリソース集約型アプリケーションでは、MySQLデータベースが重要な役割を果たし、大規模なトランザクションの管理を担当しています。ただし、アプリケーションのスケールが拡大すると、データベースパフォーマンスのボトルネックが制約になることがよくあります。この記事では、一連の効果的なMySQLパフォーマンス最適化戦略を検討して、アプリケーションが高負荷の下で効率的で応答性の高いままであることを保証します。実際のケースを組み合わせて、インデックス作成、クエリ最適化、データベース設計、キャッシュなどの詳細な主要なテクノロジーを説明します。 1.データベースアーキテクチャの設計と最適化されたデータベースアーキテクチャは、MySQLパフォーマンスの最適化の基礎です。いくつかのコア原則は次のとおりです。適切なデータ型を選択し、ニーズを満たす最小のデータ型を選択すると、ストレージスペースを節約するだけでなく、データ処理速度を向上させることもできます。

Amazon AthenaでAWS接着クローラーの使用方法 Amazon AthenaでAWS接着クローラーの使用方法 Apr 09, 2025 pm 03:09 PM

データの専門家として、さまざまなソースから大量のデータを処理する必要があります。これは、データ管理と分析に課題をもたらす可能性があります。幸いなことに、AWS GlueとAmazon Athenaの2つのAWSサービスが役立ちます。

See all articles