Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Matplotlib设置长方体打印的动画_Python_Animation_Matplotlib_Boxplot - Fatal编程技术网

Python Matplotlib设置长方体打印的动画

Python Matplotlib设置长方体打印的动画,python,animation,matplotlib,boxplot,Python,Animation,Matplotlib,Boxplot,我正试图在数据在时间序列上移动时制作一个方框图的动画 我正在制作matplotlib动画示例,这些示例显示了它如何与plot函数一起工作,但对于boxplot函数来说,这似乎并不适用: 下面的代码有效,但将两行更改为方框图会导致错误 import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation fig, ax = plt.subplots() line, = ax.plot

我正试图在数据在时间序列上移动时制作一个方框图的动画

我正在制作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()
将numpy导入为np
将matplotlib.pyplot作为plt导入
将matplotlib.animation导入为动画
图,ax=plt.子批次()

直线,=ax.plot(np.arange(10))#我自己想出来了:这个想法可以是清除轴,并在每个帧中绘制一个新的箱线图,如下所示

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()
将numpy导入为np
将matplotlib.pyplot作为plt导入
将matplotlib.animation导入为动画
图,ax=plt.子批次()
#行,=ax.boxplot(np.arange(10))
#Unset
取消设置所有\u代理
取消设置所有\u代理
#安装缺少的依赖项:
pip安装pysocks
#重置代理
source~/.bashrc

返回一个
目录
,其中包含您需要更新的所有艺术家。您可能需要自己计算所有四分位数,并确定将数据应用于哪些艺术家。没有一个艺术家可以为方框图更新。我不明白-代理和方框图有什么关系??!