PythonのMatplotlib:例を使ってさまざまなプロットを説明
公開: 2021-06-21目次
matplotlibとは何ですか?
Pythonで利用可能ないくつかのライブラリのうち、Pythonのmatplotlibは、配列の2Dプロットの視覚化に役立つそのような視覚化ライブラリの1つです。 データ視覚化ライブラリは、NumPyアレイ上に構築されています。 マルチプラットフォームのデータ視覚化ライブラリがJohnHunterによって導入されたのは、2002年のことです。 ライブラリは、データの視覚化とデータのグラフィカルなプロットを提供し、MATLABの代替手段を提供します。 MatplotlibのAPI、つまり開発者がGUIアプリケーションにプロットを埋め込むために使用するアプリケーションプログラミングインターフェイス。
棒、線、ヒストグラム、散布図などのいくつかのグラフィカルなプロットがmatplotlibによって提供されます。 matplotlibプロットによって提供される視覚化により、大量のデータに視覚的にアクセスできます。 ビジュアルデータプロットは、Python matplotlibスクリプトの構造化された性質のために、数行のコードで生成できます。
matplotlibスクリプトレイヤーをオーバーレイするために2つのAPIが使用されます。
- Python API:これはPythonコードオブジェクトの階層です。
- OO(オブジェクト指向)API:Matplotlibのバックエンドレイヤーへの直接アクセスはAPIによって提供されます。
インストール
matplotlibライブラリのインストールは、matplotlibとその依存関係をPython Package Index(PyPI)からバイナリパッケージとしてダウンロードすることで実行できます。
ライブラリのインストールに使用できるコマンドは次のとおりです。
python -m pip install matplotlib
Windows、Linux、macOSなどのオペレーティングシステムでは、matplotlibとその依存関係はホイールパッケージとして存在します。 このような場合、実行されるコマンドはです。
python -mpip install -U matplotlib
ライブラリは、ローカルシステムがOSに適切なコンパイラを必要とするため、インストールがかなり複雑な未コンパイルのソースファイルとしても利用できます。 また、ActiveStateプラットフォームは、ソースからmatplotlibを構築し、必要なOS用にパッケージ化するために使用できます。
インポート
Pythonでのmatplotlibのインポートは、コマンドを介して実行されます
- matplotlibからpyplotをpltとしてインポートします
- matplotlib.pyplotをpltとしてインポートします
さまざまなプロットと例
1.MatplotlibUIメニュー
Matplotlib UIメニューは、Matplotlibを介してプロットが作成されるときに生成されます。 プロットのカスタマイズと要素の切り替え、およびプロットにズームインする機能は、MatplotlibUIによって提供されます。
2.MatplotlibとNumPy
NumPyは、科学計算を実行するためのPythonのパッケージです。 MatplotlibはNumPy上に構築されており、数値データと多次元配列にNumPyが提供する関数を使用します。
3.MatplotlibとPandas
Pandasは、matplotlibによるデータの操作と分析に使用されるPythonのライブラリです。 これはmatplotlibに必須の依存関係ではありませんが、データフレームを提供します。
Matplotlibプロットを使用すると、大量のデータを視覚的に表現できます。 プロットを使用すると、データに存在する傾向と特定のパターンを特定できます。これは、相関関係を作成するために不可欠です。 Matplotlibプロットは、基本的に、定量的な情報について推論する方法を提供します。
matplotlibプロットのタイプのいくつかは次のとおりです。
1.折れ線グラフ:
2点を使う
- Matplotlib折れ線グラフは、pyplotをインポートすることで生成されます。
- ダイアグラムでポイントを描画するために、 plot()関数が使用されます。この関数は、デフォルトで、あるポイントから別のポイントに線を描画します。
- 線を引くためのポイントを指定する2つのパラメータが考慮されます。
- X軸ポイントは、パラメータ1に配列として格納されます。
- Y軸のポイントは、パラメータ2に配列として格納されます。
- 例:点(2、6)から(10、15)まで線をプロットする必要がある場合は、[2、10]と[6、15]の2つの配列を渡す必要があります。
例:線のプロットと生成されたプロットを示すコード
ソース
2.複数のポイントを使用する
- プロットに2つのポイントを使用する方法と同様に、Pythonでmatplotlibを使用して複数のポイントをプロットできます。
- ポイントの数をプロットするには、ポイントは両方の軸で同じ数である必要があります。
- 入力:
ソース
3.x軸ポイントのないラインポイント
- X軸ポイントが指定されていない場合、X軸のデフォルト値はY軸ポイントに基づいて取得されます。
- 入力:コードは、線をプロットするための上記のコードと同じままですが、入力として1つの配列、つまりY軸の配列のみが使用されます。 X軸がデフォルトとして使用されます。
ypoints = np.array([10、8、12、20、3、9])
- 生成されたプロット:
matplotlibには、プロットの視覚効果を高めるためのさまざまなオプションがあります。
1.マーカー
- ダイアグラム内のポイントの視覚効果を高めるために、キーワードmarkerを使用して指定されたマーカーを使用できます。
- マーカーには、星、円、点、ピクセル、Xなどがあります。
- 例:plt.plot(ypoints、marker ='o')は点のプロットに使用できます
- マーカーの他のリストは、以下のスニペットから抜粋したものです。
ソース
- マーカーは、色(140のサポートされている色)、サイズ、および点線、実線、破線などの使用可能な線の種類に応じて変更できます。
- マーカー全体に色を付けるには、 markeredge ( mec )およびmarkerfacecolor ( mfc )コマンドを使用します。
- マーカーの端のみまたはマーカー全体に色を付けるオプションがあります。
- Markersizeまたは短いmsは、マーカーのサイズを設定するために使用されます。
構文:plt.plot(ypoints、marker ='o'、ms = 30)
2.Matplotlibライン
- プロットされた線のスタイルは、 ls 、 : 、または—として表される線種、点線、または破線のオプションを使用して変更できます。
構文:plt.plot(ypoints、ls =':')
- 線の色は、キーワードcolorを使用して変更することも、 cを使用して短い形式で変更することもできます。 matplotlibは、線の色の外観を変更するためにサポートされている140色を提供します。
- 線の幅は、引数linewidthまたはlwで変更できます。 ポイント単位の浮動小数点数です。
- plt.plot()関数を使用して、同じグラフに複数の線をプロットできます。
- grid()関数は、プロットにグリッド線を追加するために使用されます。 軸パラメータを追加して、グリッド線が必要な軸を指定できます。
構文:plt.grid(axis ='x')
- グリッドのプロパティは、引数、色、線種、および数を使用して、色、線のスタイル、幅などに応じて変更できます。
構文:plt.grid(color ='green'、linestyle ='–'、linewidth = 0.5)
3.Matplotlibのラベルとタイトル
- xlabel()およびylabel()関数は、それぞれのasexにラベルを付けるために使用されます。
- title()関数は、プロットのタイトルを設定するために使用されます。
- プロットのフォントプロパティは、 fontdictパラメーターを使用して変更できます。
- locパラメーターを使用して、タイトルの位置を指定できます。
subplots()関数を使用して、1つの図に複数のプロットを描画できます。
4.Matplotlib散布図
- scatter()関数をpyplotで使用して、散布図を描くことができます。
- 同じ長さの2つのアレイ、つまり各軸に1つのアレイが必要です。
- 例:
ソース
生成されたプロット
- 色 または、 c引数を使用して、散布図の点に色を付けます。
- カラーマップを使用して、散布図で必要な色を指定できます。 カラーマップの各色には特定の値があります。 これは、引数cmap ndを介して含めることができ、次にカラーマップの名前を割り当てます。 いくつかの組み込みのカラーマップがmatplotlibで利用できます。
構文:plt.scatter(x、y、c = 色、cmap ='viridis')
Viridisは、matplotlibで利用できる組み込みのカラーマップです。
- ドットのサイズと透明度は、 sとalpha引数を使用して変更できます。
- カラーマップは、さまざまなサイズのドットと組み合わせることができます。
5.Matplotlib棒グラフ
- bar()関数は、棒グラフの描画に使用されます。 バーのレイアウトの引数は、 bar()関数に記載されています。 縦棒図をプロットします。
- 水平棒グラフをプロットするには、 barh()関数を使用します。
- 入力:
- 生成されたプロット:
ソース
- color引数は、 bar()およびbarh()関数とともに使用され、バーの色を設定します。
構文:plt.bar(x、y、color =“ green”)。
- width引数は、 bar()およびbarh()関数とともに使用され、バーの幅を設定します。
構文:plt.bar(x、y、width = 0.2)。
- bar()およびbarh()関数が取り上げるもう1つの引数は、バーの高さを設定するために使用される高さです。
6.Matplotlibパイプロット
- 円グラフは、matplotlibライブラリのpie()関数を使用して作成されます。
- 例:入力:
- 生成されたプロット:
ソース
- 各ウェッジは、各ウェッジのラベルを含む配列であるパラメーターラベルでラベル付けできます。
構文: mylabels = [ 「cars」 、 「bikes」 、 「cycles」 、 「buses」 ]
- 円グラフのデフォルトの開始角度はX軸であり、パラメーターstartangleで変更できます。 角度は度で定義され、デフォルトの角度は0です。
- explodeパラメータを使用すると、必要なウェッジを目立たせるように表示できます。 ウェッジの値が目立つように配列を介して指定され、残りの値は0のままになります。
構文:myexplode = [0.2、0、0、0]
- shadowsパラメーターをtrueに設定すると、円グラフの影が作成されます。
- 色パラメータは、配列を介して各ウェッジの色を指定するために使用されます。
構文: mylabels = [ 「cars」 、 「bikes」 、 「cycles」 、 「buses」 ]
mycolors = [“ black”、“ hotpink”、“ blue”、green””]
- legend()関数は、各ウェッジに説明を追加するために使用されます。
7.ヒストグラム
- ヒストグラムは度数分布をプロットするために使用されます。
- hist()関数は、ヒストグラムを作成するために数値の配列を使用するヒストグラムを作成するために使用されます。
- 例:入力:上記の線は、棒グラフのプロットに使用される線と同じになります。
x = np.random.normal(90、100、200)
print(x)
- 生成されたプロット:
結論
記事で説明したように、 Pythonのmatplotlibは、さまざまなスタイルのデータのプロットに使用できます。 さらにさまざまなオプションを使用してプロットを拡張し、ユーザーが希望に応じてラベル付け、サイズ変更、および色付けを行えるようにします。 したがって、Pythonとそのライブラリは、現代のデータの分析と処理に非常に役立ちます。
データサイエンスの分野でのPythonプログラミングトレーニングは、 upGradが提供するデータサイエンスのエグゼクティブPGプログラムのコースで利用できます。 業界の専門家の下でトレーニングを受け、データサイエンスが持つさまざまな機会を探求したい場合は、コースに登録できます。 このコースはIIIT-Bangaloreによって提供され、21〜45歳の年齢層の中級レベルの専門家へのエントリーのために特別に設計されています。 性別を問わず、このカテゴリに該当し、主要なデータサイエンティストになることを夢見ている場合は、このベンチャーに参加してください。 どんな支援船でも、私たちのチームがあなたを助ける準備ができています。
パンダモジュールの利点はどこにありますか?
Pandasは、さまざまなユースケースを持つ最も重要で便利なPythonモジュールの1つです。 以下は、Pandasモジュールの利点の一部です。
1.パンダは便利なデータフィルタリングとサブセット化を可能にします。
2.そのコードはクリーンで理解しやすいので、ユーザーはコアの目的により集中できます。
3. NumPyで記述されているため、NumPyの便利な機能の一部も継承しています。
Matplotlibライブラリはどのような目的に役立ちますか?
1. Matplotlibライブラリは、ヒストグラム、線と棒のプロット、散布図、棒グラフなど、さまざまなタイプのプロットを埋め込むための多数の便利なAPIを提供します。
2.この強力なライブラリは、配列に格納されたデータを使用して2Dプロットを作成するのに役立ちます。 その単純なコード構造により、数行の単純なコードを追加するだけで、あらゆるタイプのプロットを埋め込むことができます。
3.オブジェクト指向のインターフェイスを備えているため、MATLABやPyplotの強力な代替手段になります。 高度にカスタマイズ可能ですが、高度な機能を使用するにはある程度の経験が必要です。
4.アプリケーションに単純なプロットを埋め込む必要がある場合は、MATLABスタイルのPythonインターフェイスを使用する必要があります。 ただし、複雑なプロットがある場合は、そのOOPインターフェイスの方がはるかに優れたオプションになります。