我有一个条形图,带有许多自定义属性(标签,线宽,边框颜色)。
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()
对于“普通”图,我会使用set_data()
,但是在条形图中,我遇到了一个错误:AttributeError: 'BarContainer' object has no attribute 'set_data'
我不想简单地更新矩形的高度,我想要绘制全新的矩形。如果我使用ax.cla()
,所有我的设置(线宽、边缘颜色、标题等)都会丢失,不仅是数据(矩形),而且清除多次并重置所有内容会使我的程序变得很卡顿。如果我不使用ax.cla()
,设置会保留,程序会更快(我不必一直设置属性),但是矩形会相互绘制,这是不好的。
你能帮我解决这个问题吗?