当数据在一个时间序列上移动时,我试图为一个箱形图设置动画。
我正在使用matplotlib动画示例,它们展示了它如何与绘图函数一起使用,但这似乎不会延续到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似乎也没有&#34; set_data&#34;功能,或&#34;动画=真&#34;参数。
基本上我希望动画与上面相同,但描绘的是一个方块图而不是一个线图。
答案 0 :(得分:2)
我自己想出来了:想法可以是清除轴,并在每个框架中绘制一个新的箱图,如下所示。
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig, ax = plt.subplots()
# line, = ax.boxplot(np.arange(10)) <-- not needed it seems
ax.set_ylim(0, 20)
def update(data):
ax.cla() # <-- clear the subplot otherwise boxplot shows previous frame
ax.set_ylim(0, 20)
ax.boxplot(x=data)
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()
答案 1 :(得分:0)
# Unset socks proxy
unset all_proxy
unset ALL_PROXY
# Install missing dependencies:
pip install pysocks
# Reset proxy
source ~/.bashrc