weixin_51809805 2021-01-18 09:51 采纳率: 0%
浏览 43

如何用python绘制自己导入数据的动图?类似于matlab中comet

import matplotlib
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.animation as animation



#坐标轴显示成中文
mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题

#提取你想要的文本数据
filename = 'disp_6.out'
X, Y = [], []

with open(filename, 'r') as f:
    lines = f.readlines()
    for line in lines:
        value = [float(s) for s in line.split()]
        #选取你想要的文档列数,代码中0表示文本里的第一列
        X.append(value[0])
        Y.append(value[1])

这是我读取我想要文档数据的代码段落

 

FuncAnimation只能画已经固定好了的方程动态图
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation   #导入负责绘制动画的接口
fig, ax = plt.subplots() 
x, y= [], [] 
line, = plt.plot([], [], '.-',color='red')
nums = 100   #需要的帧数


filename = 'disp_6.out'

with open(filename, 'r') as f:
    lines = f.readlines()
    for line in lines:
        value = [float(s) for s in line.split()]
        # 选取你想要的文档列数,代码中0表示文本里的第一列
        x.append(value[0])
        y.append(value[1])
# 用matplotlib绘制一个图形

def init():
    ax.set_xlim(-5, 50)
    ax.set_ylim(-10, 10)
    return line


def update(i):
    if len(x)>=nums:       #通过控制帧数来避免不断的绘图
        return line
    line.set_data(x[i],y[i])
    return line

ani = FuncAnimation(fig, update, frames=nums,     #nums输入到frames后会使用range(nums)得到一系列step输入到update中去
                     init_func=init)
plt.show()
这样没办法运行....
  • 写回答

1条回答 默认 最新

  • canmoumou 2023-12-15 17:53
    关注

    要不然,图也可以导出numpy格式,丢到openCV里面使用视频播放的方式啊。

              import cv2
              fourcc = cv2.VideoWriter_fourcc(*"mp4v")
            cv2.VideoWriter(
                output_path, fourcc, 25, (width, height)
            )
            # for 这里for循环一下 
                video_writer.write(img.astype(np.uint8))        
            video_writer.play()
    
    评论

报告相同问题?

悬赏问题

  • ¥15 用三极管设计—个共射极放大电路
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示