写【Python折线图】的一百个技巧(一、生成折线图网页)

简介: 写【Python折线图】的一百个技巧(一、生成折线图网页)

写【Python折线图】的一百个技巧(一、生成折线图网页)



前言

       本系列文章主要针对Python语言【pyecharts】库生成折线图功能进行深入探究与二次开发而撰写的,专栏文章的作用是帮助大家在工作中【快速】、【高效】、【美观】、【大气】的展示各种适合【折线图】的数据,且只针对折线图,我相信折线图才是最美的图表,在折线图中你能找到真正的数学之美,当前只针对生成网页类型可以截图使用,也可以通过录制操作过程生成小视频的方式使用,后期我会想办法针对视频自动演示进行研究,可能前几十篇或甚至是上百篇文章都是对折线图的具体探究与深度学习,后面的文章我会写一些功能类的GUI工具,用于生成各类折线图,有望在2024年的年会PPT汇报上给予大家【唯美】的帮助。

学习环境

系统环境:win11

开发工具:PyCharm Community Edition 2022.3.1

Python版本:Python 3.9.6

Pythob库:主要是【pyecharts】,如果涉及到网络获取则需要依赖爬虫的库,可参考【看完这个,还不会【Python爬虫环境】,请你吃瓜

Python库环境

下载【pyecharts】库。

探究目标

pyecharts基础折线图的使用。

绘制过程

引入库

这个就是我们最开始下载的库,由于下载过了,我使用的是系统的路径,故而直接用就行了。

from pyecharts.charts import Bar, Page, Line
from pyecharts import options as opts

初始化数据

这里要初始的是X轴与Y轴的数据,Y轴我设定了3个用户故而我写了三条数据,写1个也行,就是显示的时候是一条线而已,我用三条线看着更带劲而已,可以依葫芦画瓢的跟着我写数据就行,其实这个数据都是可以自己随意写的呢,如果不好看,自己换数据也就成了。

# X轴数据
x = ['10月份', '11月份', '12月份']
# Y轴数据
y1 = [1120, 520, 770]
y2 = [1000, 300, 800]
y3 = [1072, 500, 900]

声明折线图

声明折线图就是这个函数,但是我们不能单单的写函数,我们还需要拿到一个返回值用来操作数据的信息,所以这里我们用变量【c】来承接这个折线图。

c = Line()

写入x轴数据

写入x轴数据需要根据我们声明的折线图变量c来写入,函数是add_xaxis(),参数名称是xaxis_data,直接赋值我们准备好的x列表就行。

# 设置x轴
    c.add_xaxis(xaxis_data=x)

写入y轴数据

其实Y轴也与x轴类似,但是你能看得出来这里是add_yaxis,他自己已经说明自己是y了,故而也是安装的,直接操作即可,serise_name设置的是显示文字,后面的y_axis是设置对应折线的数据变量,这里有3个。

# 设置y轴
    c.add_yaxis(series_name='博主A', y_axis=y1)
    c.add_yaxis(series_name='博主B', y_axis=y2)
    c.add_yaxis(series_name='博主C', y_axis=y3)

基础设置

这里需要设置折线图的标题、是否显示、鼠标悬停以及显示工具箱。

# 数据项设置
    c.set_global_opts(
        title_opts=opts.TitleOpts(title='博主年末后三个月原力增长数量'),
        legend_opts=opts.LegendOpts(is_show=True),
        tooltip_opts=opts.TooltipOpts(trigger='axis', axis_pointer_type='cross'),
        toolbox_opts=opts.ToolboxOpts(is_show=True, orient='horizontal',
                                      feature=opts.ToolBoxFeatureOpts(data_zoom=data_zoom))
    )

工具包设置

在工具包设置的时候会有对data_zoom的需求,我们直接赋值即可。

# 对工具箱中名称修改
data_zoom = {
    "show": True,
    "title": {"缩放": "数据缩放", "还原": "缩放数据还原"}
}

封装折线图函数

这里我讲整个过程封装成了一个函数,后期准备直接当做基础包来用,参数直接修改一下或者通过json等方式进行获取即可。

def line_charts():
    c = Line()
    # 设置x轴
    c.add_xaxis(xaxis_data=x)
    # 设置y轴
    c.add_yaxis(series_name='博主A', y_axis=y1)
    c.add_yaxis(series_name='博主B', y_axis=y2)
    c.add_yaxis(series_name='博主C', y_axis=y3)
    # 数据项设置
    c.set_global_opts(
        title_opts=opts.TitleOpts(title='博主年末后三个月原力增长数量'),
        legend_opts=opts.LegendOpts(is_show=True),
        tooltip_opts=opts.TooltipOpts(trigger='axis', axis_pointer_type='cross'),
        toolbox_opts=opts.ToolboxOpts(is_show=True, orient='horizontal',
                                      feature=opts.ToolBoxFeatureOpts(data_zoom=data_zoom))
    )
    return c

绘制表格

我们直接调用函数,先让函数跑一遍赋值好数据,相当于初始化完毕,初始化后我们需要将生成的HTML网页保存到一定的位置下,我这里就直接写当前文件夹了。

# 绘制图表
c = line_charts()
c.render(path='Demo1_base_lineChart.html')

执行测试效果

已经生成成功的HTML网页:

查看生成网页:

工具栏介绍

工具栏中的功能非常多,甚至可以直接更换显示效果。

这里面第一个是下载图片,第一排最后一个是折线图拉伸的效果,还有第二排第一是显示柱状图,我们来点一下看看。

除了柱状图外,我们还能直接创建对应的自动求和的堆叠图,效果如下:

总结

       这是一个基础版本的折线图,并没有进行大数据量的分析也没有添加什么好看的样式,只是作为一切的基础来学习,后面我们对折线图一点点的深入挖掘,将数据显示的越发美观且高大上,希望在这个方向上能给大家带来更多的价值。

相关文章
|
2月前
|
数据采集 UED Python
如何应对动态图片大小变化?Python解决网页图片截图难题
随着互联网技术的发展,电商平台如京东(JD.com)广泛采用动态内容加载技术,给爬虫获取商品图片带来挑战:图片无法直接保存,尺寸动态变化,且存在反爬机制。本文介绍如何利用Python结合代理IP、多线程技术解决这些问题,通过Selenium和Pillow库实现动态网页图片的屏幕截图,有效绕过反爬措施,提升数据抓取效率和稳定性。具体步骤包括设置代理IP、使用Selenium抓取图片、多线程提升效率以及设置cookie和user-agent伪装正常用户。实验结果显示,该方法能显著提升抓取效率,精准截图保存图片,并成功绕过反爬机制。
|
3月前
|
移动开发 Python Windows
python编程获取网页标题title的几种方法及效果对比(源代码)
python编程获取网页标题title的几种方法及效果对比(源代码)
|
29天前
|
JavaScript 前端开发 开发者
探索 DrissionPage: 强大的Python网页自动化工具
DrissionPage 是一个基于 Python 的网页自动化工具,结合了浏览器自动化的便利性和 requests 库的高效率。它提供三种页面对象:ChromiumPage、WebPage 和 SessionPage,分别适用于不同的使用场景,帮助开发者高效完成网页自动化任务。
124 4
|
1月前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
2月前
|
计算机视觉 Python
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
这篇文章介绍了如何使用Python的OpenCV库将多张图片合并为一张图片显示,以及如何使用matplotlib库从不同txt文档中读取数据并绘制多条折线图。
49 3
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
|
2月前
|
云计算 Python
用python给你写个简单的计算器功能网页啊
这张图片展示了阿里巴巴集团的组织架构图,涵盖了核心电商、云计算、数字媒体与娱乐、创新业务等主要板块,以及各板块下的具体业务单元和部门。
|
2月前
|
数据采集 Java Python
如何用Python同时抓取多个网页:深入ThreadPoolExecutor
在信息化时代,实时数据的获取对体育赛事爱好者、数据分析师和投注行业至关重要。本文介绍了如何使用Python的`ThreadPoolExecutor`结合代理IP和请求头设置,高效稳定地抓取五大足球联赛的实时比赛信息。通过多线程并发处理,解决了抓取效率低、请求限制等问题,提供了详细的代码示例和解析方法。
如何用Python同时抓取多个网页:深入ThreadPoolExecutor
|
3月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
123 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
3月前
|
前端开发 搜索推荐 算法
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发
中草药管理与推荐系统。本系统使用Python作为主要开发语言,前端使用HTML,CSS,BootStrap等技术和框架搭建前端界面,后端使用Django框架处理应用请求,使用Ajax等技术实现前后端的数据通信。实现了一个综合性的中草药管理与推荐平台。具体功能如下: - 系统分为普通用户和管理员两个角色 - 普通用户可以登录,注册、查看物品信息、收藏物品、发布评论、编辑个人信息、柱状图饼状图可视化物品信息、并依据用户注册时选择的标签进行推荐 和 根据用户对物品的评分 使用协同过滤推荐算法进行推荐 - 管理员可以在后台对用户和物品信息进行管理编辑
93 12
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发
|
2月前
|
iOS开发 MacOS Python
Python编程小案例—利用flask查询本机IP归属并输出网页图片
Python编程小案例—利用flask查询本机IP归属并输出网页图片
26 1
下一篇
DataWorks