私がこれまで matplotlib を使用してきた理由は、その複雑な構文を学ぶためであり、そのために何百時間もの時間コストが「費やされ」てきました。そのため、私は「日付のフォーマット」や「2 番目の Y 軸の追加」の方法を StackOverflow で検索することを数え切れないほど深夜に費やすことになりました。
しかし、現在では、使いやすく、文書が充実しており、強力なオープンソースの Python プロット ライブラリである Plotly など、より良い選択肢があります。今日は、非常に単純な (たった 1 行でも!) コードでより良いチャートを描画する方法を詳しく説明します。
この記事のすべてのコードは Github でオープンソース化されており、すべてのグラフはインタラクティブです。表示するには Jupyter ノートブックを使用してください。
(Github ソース コード アドレス: https://github.com/WillKoehrsen/Data-Analysis/blob/master/plotly/Plotly Whirlwind Introduction.ipynb)
(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 でのインポートを完了できます。
単一変数分布: ヒストグラムと箱ひげ図チャート
一変量分析チャートはデータ分析を開始する際の標準的な手法であることが多く、ヒストグラムは基本的に一変量分布分析に必要なチャートの 1 つです (ただし、まだいくつかの欠点があります)。
ブログ投稿の「いいね!」の合計数を例として取り上げて (元のデータについては Github を参照: https://github.com/WillKoehrsen/Data-Analysis/tree/master/medium)、簡単なインタラクティブなヒストグラム :
(コード内の df は標準の Pandas データフレーム オブジェクトです)
(plotly を使用して作成されたインタラクションカフリンクス ヒストグラム)
すでに matplotlib に慣れている学生の場合は、さらに 1 文字入力するだけ (.plot を .iplot に変更する) だけで、より美しく見えるインタラクティブなグラフが得られます。画像上の要素をクリックすると、詳細情報が表示され、ズームインおよびズームアウトし、(次で説明します) 画像の特定部分のフィルタリングなどの機能が強調表示されます。
積み上げ縦棒グラフを描画したい場合は、これを行うだけです。
インタラクティブなグラフの利点は、データを探索し、分析のためにサブ項目を自由に分割できることです。箱ひげ図は多くの情報を提供しますが、特定の値が見えないと、多くの情報を見逃してしまう可能性があります。
散布図
散布図は、ほとんどの分析の中核となる内容であり、時間の経過に伴う 1 つの変数の変化、または変数間の関係における 2 つ (またはそれ以上) の変化を確認できます。
時系列分析
現実の世界では、データのかなりの部分に時間要素が含まれています。幸いなことに、plotly カフリンクスには、時系列の視覚分析をサポートする機能が組み込まれています。
私が「Towards Data Science」Web サイトに公開した記事データを例に、公開時間を指標としてデータセットを構築し、記事の人気がどのように変化するかを見てみましょう。
- # 美しい時刻を自動的に生成するシリーズ X 軸
- 2 つの変数の範囲が一致しないため、2 番目の Y 軸を追加します
- ## マウスをホバーしたときに表示されるラベルに記事タイトルを入力します
- より多くのデータを表示するには、テキスト注釈を簡単に追加できます:
(テキスト注釈付き散布図)
以下のコードでは、3 番目のカテゴリ変数によって 2 変数の散布図に色を付けます。もう少し複雑な対数軸について説明します。これを実現するには、plotly のレイアウト パラメーターを指定し (さまざまなレイアウトについては、公式ドキュメント https://plot.ly/python/reference/ を参照してください)、ポイントのサイズ (サイズ パラメーター) と数値変数read_ratio(読み取り率)がバインドされており、数値が大きいほどバブルのサイズが大きくなります。
もっと複雑にしたい場合は (詳細は Github のソース コードを参照)、1 つの画像に 4 つを詰め込むこともできます。 ! (ただし、実際にこれを行うことはお勧めしません)
#以前と同様に、パンダとプロットカフリンクスを組み合わせて、多くの便利なグラフを作成できます:
# 公式ドキュメントまたはソース コードを確認することをお勧めします。これらには、より多くの例と関数インスタンスが含まれています。わずか 1 ~ 2 行のコードで、元の対話型機能を維持しながら、テキスト注釈、補助線、最適線などの便利な要素をグラフに追加できます。
散布図行列
多くの異なる変数間の関係を調べたい場合は、散布図行列 (SPLOM とも呼ばれる) が最適です。
関係ヒート マップ
複数の数値変数間の関係を反映するために、それらの相関関係を計算し、ラベル付きヒート マップの形式で視覚化できます:
カスタマイズされたテーマ
無限の種類のグラフに加えて、Cufflinks にはさまざまな色付けテーマも用意されており、異なるグラフ スタイルを簡単に切り替えることができます。次の 2 つの図は、それぞれ「space」テーマと「ggplot」テーマです。
- 分割/インタラクティブな要素を必要とします。調査データ
- 必要に応じて詳細をドリルダウンするオプション
- 最終プレゼンテーション前に簡単にカスタマイズ
以上が強力なオープンソース Python 描画ライブラリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

WebStorm Mac版
便利なJavaScript開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Dreamweaver Mac版
ビジュアル Web 開発ツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。
