吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 887|回复: 10
收起左侧

[求助] python画折线图求助

  [复制链接]
liu8359 发表于 2023-4-24 17:20
本帖最后由 liu8359 于 2023-4-24 17:22 编辑

用的matplotlib中animation.FuncAnimation方法但是x轴画满后,
会出一条直线,如第二张图,这个应该怎么解决

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

傲雪不傲霜 发表于 2023-4-24 17:48
源码发一下?
uZHu 发表于 2023-4-24 17:57
网页的话直接用echarts只需要简单的设置就可以了
euga8848 发表于 2023-4-24 18:04
头像被屏蔽
zb848 发表于 2023-4-24 19:05
提示: 作者被禁止或删除 内容自动屏蔽
默不言 发表于 2023-4-24 19:08
函数里面应该有一个属性可以隐藏这根线,你看看函数属性。
ZeBianSir 发表于 2023-4-24 22:43
5楼的办法可以的,,建议还是用matplotlib.pyplot
mendoor 发表于 2023-4-24 23:08
不知道你的源代码长啥样的,没法有针对性地回答了。
可以考虑设置ax.grid(False)

或者参考以下代码
[Python] 纯文本查看 复制代码
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

fig, ax = plt.subplots()            #假如是fig = plt.plot()则不行,创建fig的时候携带了一个ax作为更迭基础

x = np.arange(0, 2*np.pi, 0.01)             #此两步假如不直接程序执行而是每行顺着执行则会留下一固定的图线轨迹
line, = ax.plot(x, np.sin(x))               #说明直接执行程序时画图从animation语句开始,此两句其实作为整个序列的一部分?


def init():  # only required for blitting to give a clean slate.
    line.set_ydata([np.nan] * len(x))       #重置了可变图线line的全部y值为nan
    return line,

def animate(i):
    line.set_ydata(np.sin(x + i / 100))  # update the data. 经过一个i,animate处理line图像的的y为新的值
    return line,


ani = animation.FuncAnimation(
    fig, animate, init_func=init, interval=2, blit=True, save_count=50)  #如果这个地方blit改成False,还是能运行但是很慢
#fig,ax语句创建了一个带有更新性质的画布,init引入【对动画中的变化目标】进行初始化,animate更新【变化目标】
#interval是动画呈现的时间间隔,blit是是否进行清楚的卡门指标

# To save the animation, use e.g.
#
# ani.save("movie.mp4")
#
# or
#
# from matplotlib.animation import FFMpegWriter
# writer = FFMpegWriter(fps=15, metadata=dict(artist='Me'), bitrate=1800)
# ani.save("movie.mp4", writer=writer)

plt.show()
 楼主| liu8359 发表于 2023-4-25 08:39
ZeBianSir 发表于 2023-4-24 22:43
5楼的办法可以的,,建议还是用matplotlib.pyplot

matplotlib.pyplot画线速度太慢了,每秒512个点,16条线
 楼主| liu8359 发表于 2023-4-25 09:50
mendoor 发表于 2023-4-24 23:08
不知道你的源代码长啥样的,没法有针对性地回答了。
可以考虑设置ax.grid(False)

我的逻辑是,从原点开始画线,一直到x轴末尾结束。
然后再从原点开始画,从原点开始画的时候,清除掉画线点前一个点
再次到达原点是,就出现了封闭
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 21:58

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表