用不同的颜色对线条进行动画处理

2023-12-06

我正在尝试将我的数据动画化以进行演示。我正在尝试使用 python 的动画包来做到这一点。我想做的事情大致可以归结为第一个例子http://jakevdp.github.io/blog/2012/08/18/matplotlib-animation-tutorial/

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

# First set up the figure, the axis, and the plot element we want to animate
fig = plt.figure()
ax = plt.axes(xlim=(0, 2), ylim=(-2, 2))
line, = ax.plot([], [], lw=2)

# initialization function: plot the background of each frame
def init():
    line.set_data([], [])
    return line,

# animation function.  This is called sequentially
def animate(i):
    x = np.linspace(0, 2, 1000)
    y = np.sin(2 * np.pi * (x - 0.01 * i))
    line.set_data(x, y)
    return line,

# call the animator.  blit=True means only re-draw the parts that have changed.
anim = animation.FuncAnimation(fig, animate, init_func=init,
                           frames=200, interval=20, blit=True)

我是 python 新手,所以我很难理解正在发生的事情。对我来说,似乎 init() 和 animate(i) 都没有修改它们返回的内容。此外,他们正在修改的对象 line (而不是 line)之前尚未声明。

不管怎样,我想做的是获得数据,在本例中是正弦波,分段着色。 0 和 1 之间的蓝色,1 和 1.5 之间的红色,1.5 和 2 之间的蓝色。我已经尝试了很多方法,但无法使其发挥作用。我尝试让这些函数返回整个图形,而不仅仅是线条,希望它们能够刷新预览图形并绘制我绘制的复合线,但无济于事。

在这个框架中,我如何为由多条线(不同颜色)组成的线设置动画?


要绘制属性沿其变化的线,请使用 LineCollection。例子here and here。要使用 LineCollection 制作动画,请参阅this例子。

要回答上面代码中的事情是如何工作的,请在animate()您正在重置线路x,y属性与line.set_data(x, y)。然后该函数将集合返回给 Matplotlib(line,)matplotlib 必须在每一帧更新的艺术家数量。

这就是我认为您正在寻找的内容(启用blit=true仅当您的平台在最后一次调用中支持它时):

import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation
from matplotlib.collections import LineCollection
from matplotlib.colors import ListedColormap, BoundaryNorm

# First set up the figure, the axis, and the plot element we want to animate
fig = plt.figure()
ax = plt.axes(xlim=(0, 2), ylim=(-2, 2))

cmap = ListedColormap(['b', 'r', 'b'])
norm = BoundaryNorm([0, 1, 1.5, 2], cmap.N)

line = LineCollection([], cmap=cmap, norm=norm,lw=2)
line.set_array(np.linspace(0, 2, 1000))
ax.add_collection(line)

# initialization function: plot the background of each frame
def init():
    line.set_segments([])
    return line,

# animation function.  This is called sequentially
def animate(i):
    x = np.linspace(0, 2, 1000)
    y = np.sin(2 * np.pi * (x - 0.01 * i))
    points = np.array([x, y]).T.reshape(-1, 1, 2)
    segments = np.concatenate([points[:-1], points[1:]], axis=1)
    line.set_segments(segments)
    return line,

# call the animator.  blit=True means only re-draw the parts that have changed.
anim = animation.FuncAnimation(fig, animate, init_func=init,
                           frames=200, interval=20)

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用不同的颜色对线条进行动画处理 的相关文章

  • 如何打印没有类型的defaultdict变量?

    在下面的代码中 from collections import defaultdict confusion proba dict defaultdict float for i in xrange 10 confusion proba di
  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 从 scikit-learn 导入 make_blobs [重复]

    这个问题在这里已经有答案了 我收到下一个警告 D Programming Python ML venv lib site packages sklearn utils deprecation py 77 DeprecationWarning
  • 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

    问题是当我尝试启动应用程序 app py 时 我收到以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 5 中的字节 0xb3 起始字节无效 整个文件app py coding utf 8 from flask
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • ExpectedFailure 被计为错误而不是通过

    我在用着expectedFailure因为有一个我想记录的错误 我现在无法修复 但想将来再回来解决 我的理解expectedFailure是它会将测试计为通过 但在摘要中表示预期失败的数量为 x 类似于它如何处理跳过的 tets 但是 当我
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • 检查所有值是否作为字典中的键存在

    我有一个值列表和一本字典 我想确保列表中的每个值都作为字典中的键存在 目前我正在使用两组来确定字典中是否存在任何值 unmapped set foo set bar keys 有没有更Pythonic的方法来测试这个 感觉有点像黑客 您的方
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject
  • Python 分析:“‘select.poll’对象的‘poll’方法”是什么?

    我已经使用 python 分析了我的 python 代码cProfile模块并得到以下结果 ncalls tottime percall cumtime percall filename lineno function 13937860 9
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • 通过 jsch 上传 zip 文件到 sftp 站点时输入流已关闭错误

    将 zip 文件上传到 SFTP 时 我们收到以下错误 相同的代码对于另一个应用程序运行良好 我们使用 jsch 0 1 44 jar 进行 SFTP 连接 java io IOException inputstream is closed
  • 如何在 Material Angle 中创建多个主题?

    我想在我的应用程序中应用蓝色 浅蓝色 绿色和橙色阴影 我正在使用材质角度主题部分 但不知道如何使用 我必须创建 css 或js或指令 1 首先经过主题文档在这里 2 从调色板中选取颜色 link 3 使用您想要的颜色创建您自己的自定义主题
  • 使用 @Url.Content("~") 有什么好处

    我是 MVC4 razor2 的新手 我认为了解使用的一般好处 Url Content and Url Action 如果我的路由或虚拟目录发生变化 magic url strings 会正确呈现 我正在查看一些遗留的 Javascript
  • 使用WebClient在Unity3d中下载大文件

    我正在寻找有关使用 WebClient 在 Unity3d 中下载大型 100mg 文件的任何想法 WWW 异步运行 除了返回内存错误并使应用程序崩溃之外 这将是完美的 因此我已转向此处概述的解决方案 如何在C Sharp中使用unity3
  • 将 JScrollPane 组件添加到 JTable 列

    我正在尝试向 JTable 中的特定列添加滚动功能 我已经实现了一个自定义 TableCellRenderer 组件 我可以很好地看到表格内的滚动窗格 但我无法滚动它 我也尝试过实现 TableCellEditor 但没有任何运气 publ
  • Symfony2 自定义错误异常监听器 - 渲染模板或传递给控制器

    我正在尝试找出在 Symfony2 中处理自定义错误页面的最佳方法 这包括 500 和 404 等 我可以创建自己的自定义模板 error404 html twig 等 并很好地渲染它们 问题是 应用程序需要将一些变量传递到基本模板中以使页
  • 如何避免javascript命名空间冲突?

    我有一个企业应用程序 它导入一些java脚本库 假设A 以及全局命名空间中的一些函数 我们的客户可以扩展我们的平台并导入 jquery 这将导致命名空间冲突 对我来说 帮助客户避免命名空间冲突的最佳方法是什么 因为 jquery 非常流行并
  • 将“numpy.mean”与元组一起用作“axis”参数:不适用于屏蔽数组

    我有一个简单的 3D 数组a1 及其掩码模拟a2 import numpy a1 numpy array 0 00 0 00 0 00 0 88 0 80 0 78 0 75 0 78 0 77 0 00 0 00 0 00 3 29 3
  • ASP.NET mvc 身份验证或会话过期速度比设置的要快

    在我的 ASP NET MVC5 中websiteweb config中的登录和会话超时如下
  • WinForms:当鼠标进入控件时如何使MouseEnter触发?

    我有一个Panel其中包含任意数量的子控件 如果鼠标进入子控件之一Panel 然后MouseEnter事件的Panel没有被解雇 Note 一个相关的问题是 如果鼠标从panel到其中之一子控件 那么专家组的MouseLeave事件被触发
  • jenkins - 无法 ssh 到远程服务器(密钥 - 权限被拒绝),但可以从 cli 工作

    我在本地计算机上运行 Jenkins 试图找出服务器上遇到的远程 ssh 问题 我收到此权限被拒绝错误 这表明密钥有问题 但从 shell 上的同一用户帐户 我绝对可以连接 Started by user anonymous Buildin
  • Javascript正则表达式尝试将名称拆分为标题/名字/姓氏

    我想尝试在 Javascript 中检测一个人名字的不同部分 并将它们剪掉 以便我可以将它们传递给其他东西 名称可以以任何格式出现 例如 维多利亚小姐莱恩 龙志杰小姐 鲍勃 史密斯 Fred Mr Davis 我想尝试写一些简单的东西 这样
  • Visual Studio 设置和部署:添加先决条件

    如何将我希望客户端拥有更多组件的设置和部署项目添加到其中 例如 Microsoft Chart Controls Microsoft SQL 2008 Express Edition not 2005 etc 替代文本http img55
  • 获取上周六的日期 - BusyBox 1.1.0

    由于 BusyBox 中的日期功能不如gnu date 我在计算上周六的日期时遇到问题 last sat date Y m d d last saturday 只适用于 gnu date 我发现了类似的东西可以从 Epoch 计算 busy
  • MVC Web Api 不允许 Windows 身份验证

    我有一个简单的 MVC web api 2 IIS 托管应用程序 我想启用 Windows 身份验证 最初不使用 Owin 我在我的开发机器上运行它并作为本地 IIS 运行 因此 根据我所能找到的 我需要将以下内容添加到 web confi
  • Python 共享库:RTLD_GLOBAL 段错误

    我使用 python swig 包装的 C 库 在它的 init py文件 它sets在导入包含实现代码的共享对象文件之前 使用 dlopen 标志 RTLD GLOBAL 这会导致随后导入 scipy linalg 出现段错误 至少在我的
  • 在c++中实现多个接口

    我的接口层次结构如下 class A public void foo 0 class B public A public void testB 0 class C public A public void testC 0 现在 我想通过相同
  • 如何以编程方式在 iOS 中更改/添加连接 WiFi 的 DNS 服务器?

    我想以编程方式在 iOS 中更改 添加 iPhone 设备连接 WiFi 的 DNS 服务器 Google 公共 DNS IP 地址 IPv4 如下 8 8 8 8 8 8 4 4 我想以编程方式更改 添加它 就像所附屏幕截图中一样 请帮忙
  • Scala Spark:展平键/值结构数组

    我有一个输入数据框 其中包含一个数组类型的列 数组中的每个条目都是一个由键 大约四个值之一 和值组成的结构 我想将其转换为一个数据框 其中每个可能的键都具有一列 并且该值不在该行的数组中的情况下为空 键在任何数组中都不会重复 但它们可能会乱
  • 用不同的颜色对线条进行动画处理

    我正在尝试将我的数据动画化以进行演示 我正在尝试使用 python 的动画包来做到这一点 我想做的事情大致可以归结为第一个例子http jakevdp github io blog 2012 08 18 matplotlib animati