2017-11-14 15 views
1

でサブプロットをクリア私はmatplotlibの

im=ax.plot(x,y) 

を経由してサブプロットの各

ax = fig1.add_subplot(221) 

私は、プロットのものを使用して作成図fig1におけるサブプロットの数を、持っているといくつかの軸ラベルを追加しますvia

ax.set_xlabel('xlabel') 

私は、特定のサブプロットを完全にクリアしたいと思います。 When to use cla(), clf() or close() for clearing a plot in matplotlib?。しかし、問題は、ax.cla()ax.clear()は、軸、軸目盛りラベルなどを削除せずに、プロットからのデータを消去するように見えるということです。一方、plt.clf()は図全体を消去します。間に何かありますか?軸ラベルを含むサブプロット内のすべてをクリアするclfのようなコマンドですか?それとも、私は単に間違った方法でコマンドを使用しましたか?

+0

?サブプロット間に空白がありますか? – Bociek

答えて

3
  • ax.clear()は、軸を消去します。つまり、作成したばかりの軸のように、軸からすべての設定とデータを削除します。

  • ax.axis("off")は軸をオフにするので、すべての軸の棘と目盛りが非表示になります。

  • ax.set_visible(False)は、その中にあるデータを含め、完全軸を非表示にします。

  • ax.remove()は、Figureから軸を削除します。

完全な例:あなたが最後に達成したいんどのような影響

import matplotlib.pyplot as plt 

fig,axes = plt.subplots(2,3) 
for ax in axes.flat: 
    ax.plot([2,3,1]) 

axes[0,1].clear() 
axes[1,0].axis("off") 
axes[1,1].set_visible(False) 
axes[0,2].remove() 

plt.show() 

enter image description here

+0

ありがとう! 'remove()'は私が探していたことをしますが、他のオプションも便利です。 – Wolpertinger