有没有一种简单的方法可以在matplotlib中为滚动的垂直线设置动画?

德里克

我想要一个我称之为进度标记的东西,它在音频播放工具中似乎很常见。我认为在matplotlib中,这相当于left / right动画plt.vlines我的代码需要2秒钟的数据数组,并创建了音频时间序列可视化。我正在努力创建一条动画的垂直线,该线将在整个图上从0到2线性移动2秒。

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

font = {'weight': 'bold', 'size': 15}
plt.rc('font',**font)
sns.set_style("darkgrid")

testSeries = np.random.randint(-10, 20, 12000)
testSeries = testSeries - testSeries.mean()


fig,axis = plt.subplots(nrows=1,ncols=1,figsize=(18,5),sharex=True)
sns.lineplot(range(0,len(testSeries)),testSeries,  color='#007294')
plt.xlim(0, len(testSeries))
axis.set_xlabel("Time (s)", fontsize='large', fontweight='bold')
axis.set_ylabel("Amplitude", fontsize='large', fontweight='bold')
axis.set_xticklabels(['0', '0.3', '0.6', '1', '1.3', '1.6', '2'],fontsize=15)
fig.tight_layout(rect=[0,0,.8,1]) 
plt.subplots_adjust(bottom=-0.01)
sns.despine()
plt.show()
朝日朝日

axvline()只是返回一个Line2D对象,因此您可以使用来更新其位置Line2D.set_xdata()

duration = 2 # in sec
refreshPeriod = 100 # in ms

fig,ax = plt.subplots()
vl = ax.axvline(0, ls='-', color='r', lw=1, zorder=10)
ax.set_xlim(0,duration)

def animate(i,vl,period):
    t = i*period / 1000
    vl.set_xdata([t,t])
    return vl,

ani = animation.FuncAnimation(fig, animate, frames=int(duration/(refreshPeriod/1000)), fargs=(vl,refreshPeriod), interval=refreshPeriod)
plt.show()

在此处输入图片说明

请注意,刷新率不能保证,它取决于重画图形所花费的时间。您可能需要与一起玩refreshPeriod

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Windows 8中有没有一种简单的方法可以将背景设置为纯色?

来自分类Dev

有没有一种简单的方法可以将LatLng坐标收集为geojson?

来自分类Dev

有没有一种简单的方法可以将LatLng坐标收集为geojson?

来自分类Dev

有没有一种简单的方法可以根据igraph中的度数为R着色网络节点?

来自分类Dev

有没有一种简单的方法可以根据macOS中的Finder标签颜色为ls输出着色?

来自分类Dev

有没有一种简单的方法可以在WebStorm中评估JavaScript?

来自分类Dev

有没有一种简单的方法可以替换为Excel中的占位符?

来自分类Dev

有没有一种简单的方法可以在C中复制argv?

来自分类Dev

有没有一种简单的方法可以在JSF中实现路由?

来自分类Dev

Kompozer会怎样?有没有一种简单的方法可以在13.10中安装?

来自分类Dev

有没有一种简单的方法可以在Matlab GUI中显示“表格”?

来自分类Dev

有没有一种简单的方法可以从数组中删除重复的元素?

来自分类Dev

有没有一种简单的方法可以在WebStorm中评估JavaScript?

来自分类Dev

Kompozer会怎样?有没有一种简单的方法可以在13.10中安装?

来自分类Dev

有没有一种简单的方法可以在Java中组合工厂?

来自分类Dev

有没有一种简单的方法可以在Matlab GUI中显示“表格”?

来自分类Dev

有没有一种简单的方法可以在Excel中重新格式化?

来自分类Dev

有没有一种简单的方法可以在 python 中获取文本输入字段?

来自分类Dev

有没有一种简单的方法可以更改 django 中的路径?

来自分类Dev

有没有一种简单的方法可以在 Kotlin 中通过 _id 获取对象?

来自分类Dev

有没有一种简单的方法可以从 Kotlin 的对象列表中获取数组?

来自分类Dev

有没有一种简单的方法可以在 PHP 中操作按位枚举?

来自分类Dev

有没有一种方法可以将文件设置为仅在GODOT中读取

来自分类Dev

有没有一种简单的方法可以使div垂直居中并使其内联显示?

来自分类Dev

有没有一种简单的方法可以将所有 python 方法属性设置为`self.`?

来自分类Dev

有没有一种方法可以通过设置开始和结束矢量来自动为VectorDrawable设置动画

来自分类Dev

有没有一种简单的样式来设置滚动条

来自分类Dev

有没有一种方法可以在XFCE中设置通知的主题?

来自分类Dev

有没有一种方法可以在XFCE中设置通知的主题?

Related 相关文章

  1. 1

    在Windows 8中有没有一种简单的方法可以将背景设置为纯色?

  2. 2

    有没有一种简单的方法可以将LatLng坐标收集为geojson?

  3. 3

    有没有一种简单的方法可以将LatLng坐标收集为geojson?

  4. 4

    有没有一种简单的方法可以根据igraph中的度数为R着色网络节点?

  5. 5

    有没有一种简单的方法可以根据macOS中的Finder标签颜色为ls输出着色?

  6. 6

    有没有一种简单的方法可以在WebStorm中评估JavaScript?

  7. 7

    有没有一种简单的方法可以替换为Excel中的占位符?

  8. 8

    有没有一种简单的方法可以在C中复制argv?

  9. 9

    有没有一种简单的方法可以在JSF中实现路由?

  10. 10

    Kompozer会怎样?有没有一种简单的方法可以在13.10中安装?

  11. 11

    有没有一种简单的方法可以在Matlab GUI中显示“表格”?

  12. 12

    有没有一种简单的方法可以从数组中删除重复的元素?

  13. 13

    有没有一种简单的方法可以在WebStorm中评估JavaScript?

  14. 14

    Kompozer会怎样?有没有一种简单的方法可以在13.10中安装?

  15. 15

    有没有一种简单的方法可以在Java中组合工厂?

  16. 16

    有没有一种简单的方法可以在Matlab GUI中显示“表格”?

  17. 17

    有没有一种简单的方法可以在Excel中重新格式化?

  18. 18

    有没有一种简单的方法可以在 python 中获取文本输入字段?

  19. 19

    有没有一种简单的方法可以更改 django 中的路径?

  20. 20

    有没有一种简单的方法可以在 Kotlin 中通过 _id 获取对象?

  21. 21

    有没有一种简单的方法可以从 Kotlin 的对象列表中获取数组?

  22. 22

    有没有一种简单的方法可以在 PHP 中操作按位枚举?

  23. 23

    有没有一种方法可以将文件设置为仅在GODOT中读取

  24. 24

    有没有一种简单的方法可以使div垂直居中并使其内联显示?

  25. 25

    有没有一种简单的方法可以将所有 python 方法属性设置为`self.`?

  26. 26

    有没有一种方法可以通过设置开始和结束矢量来自动为VectorDrawable设置动画

  27. 27

    有没有一种简单的样式来设置滚动条

  28. 28

    有没有一种方法可以在XFCE中设置通知的主题?

  29. 29

    有没有一种方法可以在XFCE中设置通知的主题?

热门标签

归档