当前位置: 首页 > 面试题库 >

matplotlib动画线条图保持空白

曾洲
2023-03-14
问题内容

我试图遵循此处的基本动画教程,并对其进行调整以显示已经计算出的数据集,而不是每帧都对函数进行评估,但是却陷入了困境。我的数据集包含列表中包含的随时间的XY坐标,satxpos并且satypos我试图创建一个动画,使其跟踪从数据集的开头到结尾的一条线,每0.1秒显示1个新点。对我要去哪里有帮助吗?

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

Code here creates satxpos and satypos as lists

fig = plt.figure()
ax = plt.axes(xlim=(-1e7,1e7), ylim = (-1e7,1e7))
line, = ax.plot([], [], lw=2)

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

def animate(i):
    line.set_data(satxpos[i], satypos[i])
    return line,

anim = animation.FuncAnimation(fig, animate, init_func=init,
                               frames = len(satxpos), interval = 1, blit=True)

编辑:该代码运行时没有错误,但是生成了一个空白的绘图窗口,其中没有显示点/线并且没有动画。数据集已正确生成,并且在静态图中的视图良好。


问题答案:

为了“跟踪从数据集的开头到结尾的一行”,您将对数组进行索引,以使每个时间步长包含一个以上的元素

line.set_data(satxpos[:i], satypos[:i])

(注意:!)

代码中的所有其他内容看起来都很好,因此通过上述操作,您应该获得并扩展了线图。然后,您可能希望将其设置interval为大于1的值,因为这将意味着1毫秒的时间步长(可能太快了)。我想使用interval = 40可能是一个好的开始。



 类似资料:
  • 问题内容: 我找不到用Python库画一条任意线的方法。它允许绘制水平线和垂直线(与和,例如),但我没有看到如何通过两个给定的点划一条线和。有办法吗?有没有简单的方法? 问题答案: 从matplotlib 3.3开始,您可以使用进行操作。

  • 问题内容: 我开始使用Python(和OOP)进行编程,但是我对Fortran(90/95)和Matlab编程有丰富的经验。 我正在开发一个在tkinter环境上使用动画的小工具。该工具的目标是为多线动画(数组而不是数据向量)。下面是我的问题的一个简单示例。我不明白为什么这两种数据绘制方法的结果如此不同? 如果仅绘制“ dline”,则每条线将分别绘制并使用不同的颜色。如果仅绘制“ mline”,

  • 有没有一种方法可以让动作栏在活动过渡期间保持稳定?

  • 本文向大家介绍用matplotlib画等高线图详解,包括了用matplotlib画等高线图详解的使用技巧和注意事项,需要的朋友参考一下 等高线图是在地理课中讲述山峰山谷时绘制的图形,在机器学习中也会被用在绘制梯度下降算法的图形中。 因为等高线的图有三个信息:x,y以及x,y所对应的高度值。 这个高度值的计算我们用一个函数来表述: 这个函数看起来挺复杂的,但我们这里只是为了能够获得一个高度值,因此其

  • 问题内容: 我有这个代码。我想添加一个子图来绘制余弦函数。(我不想创建一个类)。第二个图也应动态更新 问题答案: 基本上,您可以使用与示例中的结构非常相似的结构。您只需要创建一个附加轴(子图)和第二条线对象:

  • 问题内容: 我试图让CSS动画属性在完成后保留,这可能吗? 这就是我想要实现的目标… 当用户登陆页面时,该元素应该被隐藏,在3秒钟(或任何其他时间)之后,该元素应淡入,动画完成后应留在该页面上。 这是一个小提琴尝试… 这是保存代码… 我知道如何使用jQuery ..就像这样… 问题答案: 我认为您正在寻找CSS3属性 animation-fill-mode CSS属性指定CSS动画在执行之前和之后