Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのmatplotlibで1つのグラフに3つの異なるデータセットをプロットする方法

Matplotlibは、Pythonで最も広く利用されているデータ可視化ライブラリのひとつです。データを可視化することは、数値を一つひとつ確認したり複雑な計算を行ったりしなくても、データ全体の傾向や特徴を直感的に把握できるようにする重要なステップです。また、定量的な洞察を読者や聴衆に効果的に伝えるための手段としても非常に有効です。

Matplotlibは、データをもとに2次元のグラフやプロットを作成するために使用されます。オブジェクト指向のAPIを備えており、作成したグラフをPythonアプリケーションに簡単に組み込むことができます。IPythonシェル、Jupyter Notebook、Spyderなどの開発環境とも相性が良く、Pythonで書かれたライブラリであり、数値計算パッケージであるNumPyを基盤として構築されています。

Windows環境にMatplotlibをインストールするには、以下のコマンドを実行します。

pip install matplotlib

Matplotlibの主な依存パッケージは以下のとおりです。

Python(バージョン3.4以上)
NumPy
Setuptools
Pyparsing
Libpng
Pytz
FreeType
Six
Cycler
Dateutil

それでは、Matplotlibを使って、1つのグラフに3種類の異なるデータセットをプロットする具体的な方法を見ていきましょう。

サンプルコード

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
x = np.linspace(0, 2, 100)

fig, ax = plt.subplots()
ax.plot(x, x, label='linear')
ax.plot(x, x**2, label='quadratic')
ax.plot(x, x**3, label='cubic')

ax.set_xlabel('x label name')
ax.set_ylabel('y label name')
ax.set_title("My Plot")
ax.legend()

plt.show()

実行結果

Pythonのmatplotlibで1つのグラフに3つの異なるデータセットをプロットする方法

コードの解説

  • 必要なパッケージ(matplotlib.pyplot と NumPy)をインポートし、使いやすいようにエイリアス(plt、np)を定義します。

  • 「figure」関数を使って、空の図(フィギュア)を作成します。

  • NumPyのlinspace関数を使い、0から2までの範囲を100分割したデータ(x軸の値)を生成します。

  • 「subplots」関数を使って、プロット領域(axes)を作成します。

  • 「plot」メソッドを3回呼び出し、それぞれ線形(linear)、2次(quadratic)、3次(cubic)のデータセットを同じグラフ上に描画します。各プロットにはlabel引数で凡例用のラベルを設定しています。

  • 「set_xlabel」「set_ylabel」メソッドで、X軸とY軸のラベルを定義します。

  • 「set_title」メソッドでグラフのタイトルを設定し、「legend」メソッドで凡例を表示します。Jupyter Notebook以外の環境では、plt.show()を呼び出すことでグラフが画面に表示されます。

ポイントまとめ

  • 同じaxオブジェクトに対してplot()を複数回呼び出すだけで、複数のデータセットを1つのグラフに重ねて描画できます。

  • label引数とlegend()を組み合わせることで、どの線がどのデータセットに対応しているのかを一目で判別できるようになります。

  • 色や線種は自動的に割り当てられますが、colorやlinestyle引数を指定すれば、見やすさに応じて明示的にカスタマイズすることも可能です。

  1. PythonのSeabornライブラリで棒グラフ(barplot)を使う方法をわかりやすく解説

    Seabornは、データの可視化を支援するPythonライブラリです。洗練されたカスタムテーマと高水準インターフェースを備えており、少ないコード量で美しい統計グラフを作成できるのが大きな特徴です。 棒グラフ(barplot)とは これまでの散布図などのプロットでは、データセット全体をグラフ上に描画していました。一方、棒グラフ(bar plot)を利用すると、データ分布の中心的な傾向(中央傾向)を直感的に把握することができます。 barplot関数は、カテゴリ変数と連続変数の関係を表現するために使用します。データは長方形のバーとして描画され、バーの高さ(長さ)がそのカテゴリにおける値の大きさや割

  2. Python Matplotlibで円グラフの一部を強調表示して描画する方法

    はじめに あなたが最も好きなグラフの種類は何ですか?経営層やビジネスアナリストにこの質問をすると、即座に「円グラフ(パイチャート)!」と答えられるほど、円グラフは割合を視覚的に表現するための最も一般的な手法のひとつです。 この記事では、PythonのMatplotlibを使って基本的な円グラフを描く方法から、explodeパラメータで特定のセクターを強調表示するテクニック、さらにパーセンテージではなく実際の値をラベルとして表示するカスタム関数の実装まで、段階的に解説します。 基本的な円グラフの作成手順 ステップ1:Matplotlibのインストール まず、以下のコマンドでMatplotlibを