Matplotlibでサブプロットを追加する方法

Matplotlibでサブプロットを追加する方法

  • オーケストレーション
6分で読めます 更新日 Sep 5, 2019

ポイント: Matplotlibでサブプロットを追加することは、データ視覚化を強化し、単一の図に複数のプロットを可能にします。主要な方法は、データの提示を明確にするためにさまざまな配置のためにplt.subplotsを使用することです。

  • チャートの垂直スタッキングにはplt.subplots(2)を使用します。
  • 図の横並びにはplt.subplots(1,2)を使用します。

まず、1つのチャートをチャート面にプロットします。

  • plt.axes()を引数なしで使用します。これにより、Matplotlibはデータに合わせてチャートを自動調整します。
  • 関数np.arange(0,25,0.1)は、0から25までの250の数値を0.1刻みで生成します。
  • y軸はsin関数np.sin(x)が1から-1の範囲であるため、1と-1の間になります。
  • チャートを注釈し、各軸にplt.ylabel('sin(x)')およびplt.xlabel('x')でラベルを付けます。
    import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 25,0.1)

axis1 = plt.axes()
plt.ylabel('sin(x)')
plt.xlabel('x')
axis1.plot(np.sin(x))

これにより、このチャートが得られます:

垂直に積み重ねられた図

次に、2つのチャートを1つの上に積み重ねてプロットします。plt.subplots(2)を使用します。上のチャートにはsin(x)を、下にはcos(x)をプロットし、同じデータを2回グラフ化しないようにします。

    import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 25,0.1)
fig, axis = plt.subplots(2)


plt.ylabel('sin(x)')
plt.xlabel('x')
axis[0].plot(np.sin(x))
axis[1].plot(np.cos(x))

これにより、次のようになります:

横に並べた図

ここでは、次のように追加します:

  • fig, axis = plt.subplots(1,2,figsize=(15,5))は、1行と2列を意味します。figsizeはそれぞれ幅と高さを意味します。
  • 注意:ここには何か不明な点があります。Matplotlibのドキュメントではこれはインチで与えられていると言っていますが、実際にはそうではなく、下のチャートはモニターのサイズに関係なく同じサイズを示します—そして、なぜ世界中の人々によって使用されるシステムがメートル法を使用しないのでしょうか?これは相対的なサイズのようです。したがって、現時点ではこれをドキュメントバグと呼ばなければならないかもしれません。(答えが分かる場合はblogs@bmc.comまでお知らせください。)
    import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 25,0.1)
fig, axis = plt.subplots(1,2,figsize=(15,5))

plt.ylabel('sin(x)')
plt.xlabel('x')
axis[0].plot(np.sin(x))
axis[1].plot(np.cos(x))

これにより、2つのチャートが横並びに配置されますが、さらに離れて配置されます。

これらの投稿は私自身の意見であり、必ずしもBMCの立場、戦略、または意見を表すものではありません。

オーケストレーションの関連記事

The Briefを購読する

このオファーに登録することで、あなたはBMCのプライバシーポリシーを読み、同意したことを確認します。

ありがとう

あなたはThe Briefに登録されました
The Briefはメインフレームとエンタープライズオーケストレーション—BMC AMIとControl-M—および、両者に関するアナリストの研究、顧客の展開、イベントをカバーしています。