ポイント: 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の立場、戦略、または意見を表すものではありません。