【发布时间】:2018-07-12 02:17:15
【问题描述】:
我正在尝试在数据随时间序列变化时为箱形图制作动画。
我正在处理 matplotlib 动画示例,它展示了它如何与 plot 函数一起使用,但这似乎不适用于 boxplot 函数:
下面的代码可以工作,但是将两行更改为箱线图会出现错误
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig, ax = plt.subplots()
line, = ax.plot(np.arange(10)) # <-- ax.boxplot(np.arange(10))
ax.set_ylim(0, 20)
def update(data):
line.set_ydata(data) # < -- line = ax.boxplot(data)?
return line,
def data_gen():
i = 0
while True:
yield np.arange(10) + i
i += .1
ani = animation.FuncAnimation(fig, update, data_gen, interval=100)
plt.show()
Boxplot 似乎也没有“set_data”函数或“animated=True”参数。
基本上我希望动画与上面的一样,但描绘的是箱线图而不是线图。
【问题讨论】:
-
mpl.pyplot.boxplot()返回一个dict,其中包含您需要更新的所有艺术家。您可能必须自己计算所有四分位数,并确定将数据应用于哪些艺术家。箱线图没有一位艺术家需要更新。
标签: python animation matplotlib boxplot