我正在使用this answer中描述的方法来动态更新条形图。但是,我想要的条形图应该显示来自零点而不是图形底部的值。这是我的条形码初始化代码:
oxBar = aBar.bar(0, 200, bottom=-100, width=1)
我希望能够从零点积极和消极地更新我的图表。但是,使用上面链接中的方法,我只能从图的底部而不是零点到达高度。例如,输入-50应该从0到-50绘制条形图,而是将条形图从-100绘制到-50。
答案 0 :(得分:1)
Matplotlib
默认情况下自动调整图表,但您可以将ylim
设置为具有恒定的大小/高度,然后0
可以始终位于中间位置。
实施例
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import random
def animate(frameno):
x = random.randint(-200, 200)
n = [x, -x]
for rect, h in zip(rects, n):
rect.set_height(h)
return rects
# --- init ---
fig, ax = plt.subplots()
rects = plt.bar([0,1], [0,0], width=1)
plt.ylim([-200, 200])
ani = animation.FuncAnimation(fig, animate, blit=True,
interval=100, frames=100, repeat=False)
plt.show()