微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python怎么画时间轮播折线图?Python如何绘制循环折线图

python数据可视化程序开发中有一个需求就是,需要统计近几年以来某一项的数据变化,并且以折线图形式显示一个统计图像上循环。而下文就是python绘制时间轮播折线图的详细教程,感兴趣和想学习的小伙伴就一起往下看看吧。

1.绘制这个图像需要使用到pyecharts库以及randoom库,前一个是用来绘制图像的,后一个则是用以来随机生成折线图绘制所需数据,导入模块代码示例如下所示:

from random import randint
from pyecharts import options as opts
from pyecharts.charts import Line, Timeline
from pyecharts.globals import ThemeType

2.模块导入完成之后定义一个列表对象保存时间数据,而这个时间的值可以随便写,不过数量需要和生成随机折线图数据组数量一致。而另外一个列表对象使用双层for循环嵌套加上列表生成式语法,这样就可以生成出绘制足够数量折线图的数据了。然后再去定义一个字典,这个字典里面是折线图x轴的数据,将其和前两个列表对象压缩在一起形成完成数据组,详细代码如下:

list1 = [2018, 2019, 2020, 2021, 2022]
list2 = [[randint(100, 1000) for time in range(7)] for year in range(5)] 
data = {'x': ['学','乐','休','动','流'],'时': dict(zip(list1, list2))}

3.下面这个函数就是绘制时间轮播折线图的关键了,需要使用特殊语法->来调用Timeline模块创建结构。在此结构之中需要先读取压缩好的数据组,然后再实例化时间对象,通过for循环第一个年份列表来构建多个折线图。

循环之中用bar()方法生成折线图,根据参数来传入xy坐标轴数据以及图像标题。而轮播切换的关键在于tl对象调用add()方法将折线图添加到轮播组件内,这样就可以实现自动和点击来切换显示的折线图了,详细代码示例如下所示:

def timeline_bar() -> Timeline:
    x = data['x']
    tl = Timeline()
    for i in list1:
        bar = (Line().add_xaxis(x).add_yaxis('时长(min)', data['时长'][i])
            .set_global_opts(title_opts=opts.TitleOpts("{}年统计".format(i))))
        tl.add(bar, "{}年".format(i))
    return tl
timeline_bar().render("图.html")

因为该第三方库只能够将绘制出来的图像以html文档形式保存起来,所以代码运行后会生成这个文档在当前路径,使用浏览器将其打开即可。

以上就是关于“Python怎么画时间轮播折线图?Python如何绘制循环折线图”的全部内容了,希望对你有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐