gpt4 book ai didi

python - 在散点图上绘制 matplotlib.animation 中的垂直线

转载 作者:行者123 更新时间:2023-12-05 04:50:00 24 4
gpt4 key购买 nike

我想使用 matplotlib.annimation顺序绘制数据点并绘制已知的垂直线。

我现在有以下内容:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation

x = np.arange(len(data))
y = data


fig = plt.figure()
plt.xlim(0, len(data))
plt.ylim(-8, 8)
graph, = plt.plot([], [], 'o')

def animate(i):
# line_indicies = func(x[:i+1])
graph.set_data(x[:i+1], y[:i+1])
# then I would like something like axvline to plot a vertical line at the indices in line indices

return graph

anim = FuncAnimation(fig, animate, frames=100, interval=200)
# anim.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264'])
plt.show()

我想绘制从函数输出的垂直线,如 animate 函数的注释中所述。

随着更多数据点的处理,线条可能会发生变化。

最佳答案

我编写代码时的理解是,我想沿着折线图的索引绘制一条垂直线。我决定了垂直线的长度和颜色,并把代码写成OOP风格,因为如果不写成ax格式,会输出两个图。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation

data = np.random.randint(-8,8,(100,))
x = np.arange(len(data))
y = data

fig = plt.figure()
ax = plt.axes(xlim=(0, len(data)), ylim=(-8, 8))
graph, = ax.plot([], [], 'o')
lines, = ax.plot([],[], 'r-', lw=2)

def init():
lines.set_data([],[])
return

def animate(i):
graph.set_data(x[:i+1], y[:i+1])
# ax.axvline(x=i, ymin=0.3, ymax=0.6, color='r', lw=2)
lines.set_data([i, i],[-3, 2])
return graph

anim = FuncAnimation(fig, animate, frames=100, interval=200)
# anim.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264'])
plt.show()

enter image description here

关于python - 在散点图上绘制 matplotlib.animation 中的垂直线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67436305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com