Python

Python:可視化(グラフオブジェクトによる操作時の各種設定)

スポンサーリンク

はじめに

前回、グラフオブジェクトによる操作で描画する方法を扱いました。グラフオブジェクトによる操作で描画するには、操作対象とするオブジェクトを明示的に指定すればよいのでした。

但し、違いはこれだけではありません。これまで扱ってきた、「グラブタイトル」「軸タイトル」「軸ラベル」などの設定方法も異なります。今回はここを整理することにしましょう。

各種設定

では、ここまで扱った項目を中心に見ていくことにします。

# Figureオブジェクトの作成
fig=plt.figure(figsize=(18,4))

# Axeオブジェクトの作成
ax1=fig.add_subplot(131)
ax2=fig.add_subplot(132)
ax3=fig.add_subplot(133)

# 描画
x = np.linspace(-5, 5, 20)
y1=x
y2=x**3
y3=x**6
ax1.plot(x,y1,label='y=x')
ax1.plot(x,y2,label='y=x**3')
ax2.plot(x,y2)
ax3.plot(x,y3)

# タイトル
ax1.set_title('y=xのグラフ')
ax2.set_title('y=x^3のグラフ')
ax3.set_title('y=x^6のグラフ')

# 軸ラベル
ax1.set_xlabel('x軸')
ax1.set_ylabel('y軸')
ax2.set_xlabel('x軸')
ax2.set_ylabel('y軸')
ax3.set_xlabel('x軸')
ax3.set_ylabel('y軸')

# 表示範囲の設定
ax1.set_xlim(-6,6)
ax1.set_ylim(-150,150)
ax2.set_xlim(-6,6)
ax2.set_ylim(-150,150)
ax3.set_xlim(-6,6)
ax3.set_ylim(0,20000)

# 目盛ラベルの設定
ax1.set_xticks([-6,-4,-2,0,2,4,6])
ax1.set_xticklabels(['A','B','C','D','E','F','G'])

# 凡例の設定
ax1.legend(loc='lower right')

まず、グラフタイトルに関しては、オブジェクトによる操作で描画した場合は、set_title()で指定します。同じように軸ラベルは、set_xlabel(), set_ylabel()となります。

次に目盛ラベルですが、目盛位置に関してはset_xticks(), 目盛ラベルについてはset_xticklabels()に配列を指定します。

表示範囲は、set_xlim(), set_ylim()で設定します。基本的にはset_XXX()の形となるのでわかりやすいですね。

凡例に関しては、これまでどおりlegend()で表示することができます。こちらも慣れれば決して難しくないですね。オブジェクトによる操作で描画した場合とそうでない場合とで、設定方法を整理しておきましょう。

設定方法の比較

オブジェクトを操作して描画した場合(これをオブジェクト指向インターフェースと呼ぶことにします)とそうでない場合(これをpyplotインターフェースと呼ぶことにします)について「整理しておきましょう。

   
オブジェクト指向
インターフェース
pyplot
インターフェース
FigureとAxesを明示的に作る
(Axisは意識しなくても自動的に作られる)
plt.plotで必要なものが自動的に作られる
ax.set_title() plt.title()
ax.set_xlabel()
ax.set_ylabel()
plt.xlabel()
plt.ylabel()
ax.set_xlim()
ax.set_ylim()
plt.xlim()
plt.ylim()
ax.set_xticks(loc)
ax.set_xticklabels(labels)
ax1.set_yticks(loc)
ax1.set_yticklabels(labels)
plt.xticks(loc,labels)

plt.yticks(loc,labels)

 

スポンサーリンク

まとめ

いかがでしたでしょうか?少しややこしくなってきましたが、この比較表があると、オブジェクト指向インターフェースでも、pyplotインターフェースで実施したこと設定をすることは簡単ですね。実は、オブジェクト指向インターフェースのほうが、より細かな設定をすることができます。なので、まずは基本として上記の項目から身につけておきましょう。

次回は、pyplotインターフェースでは気にする必要のなかった、Axes間の余白などの調整や複数のAxesで軸を共通にする設定方法を学びましょう。

 

コメント

タイトルとURLをコピーしました