2
私は、カスタムプロパティ(ラベル、線幅、EdgeColorを)私はset_data()
を使用したい「正常」のプロットでmatplotlibでbarchartを更新するには?
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.gca()
x = np.arange(5)
y = np.random.rand(5)
bars = ax.bar(x, y, color='grey', linewidth=4.0)
ax.cla()
x2 = np.arange(10)
y2 = np.random.rand(10)
ax.bar(x2,y2)
plt.show()
の多くで、棒グラフを持っていますが、棒グラフで、私はエラーました:AttributeError: 'BarContainer' object has no attribute 'set_data'
私は単純に矩形の高さを更新したくないので、全く新しい矩形をプロットする必要があります。 ax.cla()を使用すると、すべての設定(線幅、エッジカラー、タイトル..)がデータ(四角形)だけでなく、何度もクリアされ、すべてリセットされてプログラムが遅くなります。 ax.cla()
を使用しないと、設定は残りますが、プログラムは高速です(私のプロパティは常に設定する必要はありません)が、長方形は互いに描画されてしまいます。
あなたは私を助けることができますか?
:ちょうど
ax
の他のすべてのプロパティを保持しながら、それらを削除するには、そのすべてのエントリに削除またはImportanceOfBeingErnestが指摘したように、単純にフルコンテナを削除バーコンテナをループして呼び出すことができます一度だけ、BarContainer、bars.remove()を完全に削除しないでください。 – ImportanceOfBeingErnest私はあなたのソリューションを試してみました:thrugh 'bars'をループし、1つのステップでバーを削除します。新しいax.bar(x2、y2)の後、矩形は再び青ですが、私の他の設定もちろん)、タイトル、yのように、x limsは同じで、ありがとう! – user3598726