Matplotlib を使ったサブプロットの作成

MatplotlibMatplotlibBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Matplotlib は、Python における人気のあるデータ可視化ライブラリです。さまざまな種類のプロットを作成するためのさまざまな関数を提供します。その主な機能の 1 つは、サブプロットを作成する機能です。これにより、ユーザーは同じ図に複数のプロットを作成でき、異なるデータセットや同じデータの異なるビューを比較するのが容易になります。この実験では、Matplotlib を使用してサブプロットを作成するプロセスを説明します。

VM のヒント

VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証は自動化できません。

学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

単一のサブプロット付きの図の作成

単一のサブプロットを作成する最も簡単な方法は、引数なしでsubplots()関数を使用することです。この関数はFigureオブジェクトと単一のAxesオブジェクトを返します。

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

一方向にサブプロットを積み重ねる

垂直または水平に積み重ねた複数のサブプロットを作成するには、行数と列数を引数としてsubplots()関数に渡すことができます。返されるaxsオブジェクトは、作成されたAxesのリストを含む 1 次元の numpy 配列です。

fig, axs = plt.subplots(2)
axs[0].plot(x, y)
axs[1].plot(x, -y)

二方向にサブプロットを積み重ねる

サブプロットのグリッドを作成するには、行数と列数を引数としてsubplots()関数に渡すことができます。返されるaxsオブジェクトは 2 次元の NumPy 配列です。

fig, axs = plt.subplots(2, 2)
axs[0, 0].plot(x, y)
axs[0, 1].plot(x, y, 'tab:orange')
axs[1, 0].plot(x, -y, 'tab:green')
axs[1, 1].plot(x, -y, 'tab:red')

軸の共有

デフォルトでは、各Axesは個別にスケーリングされます。サブプロットの水平軸または垂直軸を整列させるには、sharexまたはshareyパラメータを使用できます。

fig, (ax1, ax2) = plt.subplots(2, sharex=True)
ax1.plot(x, y)
ax2.plot(x + 1, -y)

極座標軸

subplots()関数にprojection='polar'パラメータを渡すことで、極座標のAxesのグリッドを作成できます。

fig, (ax1, ax2) = plt.subplots(1, 2, subplot_kw=dict(projection='polar'))
ax1.plot(x, y)
ax2.plot(x, y ** 2)

まとめ

この実験では、Matplotlib を使ってサブプロットを作成する方法を学びました。単一のサブプロット付きのグラフの作成、一方向にサブプロットを積み重ねる、二方向にサブプロットを積み重ねる、軸の共有、および極座標軸の作成について説明しました。これらの手法を使うことで、複数のデータセットを一度に比較および分析できる複雑なビジュアライゼーションを作成できます。