在学习折线图之前我们先普及一下前置知识-json数据格式: JSON是一种轻量级的数据交互格式,可以按照JSON指定的格式去组织和封装数据。JSON在本质上是一个带有特定格式的字符串。它负责了不同编程语言中的数据传递和互交。JSON有什么用呢?JSON就是一种非常好的中转数据格式,它可以让不同的语言互相传递数据。 列如: 以上图片就给我们展示了Python语言和C语言通过JSON格式数据实现互相传递数据的。 json的格式数据转化:json格式的数据要求很严格的,如以下格式:
# json数据的格式可以是:
{"name":"admin","age":18}
# 也可以是:
[{"name":"admin","age":18},{"name":"root","age":16},{"name":"hello","age":20}]
从上面的代码中我们可以看出json数据格式要么是字典要么是列表内嵌套了字典。说白了json它其实就是一个Python的列表或者是一个Python的字典,json就是把Python中的字典和列表转化为字符串。那么如何实现Python和json数据的相互转换呢?我们通过以下代码来展示:(使用Python内置的json模块中的json.dumps(data)和json.dumps(data)来实现数据的转化)
# 导入json模块
import json
# 准备符合格式json格式要求的Python数据
data = [{"name":"小白","age":16},{"name":"小蓝","age":15}]
# 通过json.dumps(data)把Python数据转化为了json数据
data = json.dumps(data,ensure_ascii=False) #通过使用ensure_ascii参数并把它设置为False,表明不使用ASCII来去转换它进而显示data中的中文,而不是字符。
# 通过json.dumps(data)的方法把json数据转化为了python数据
data = json.loads(data)
接着是pyecharts模块:pyecharts模块是可以帮助我们做出数据可视化效果图的。Echar是个由百度开源的数据可视化,具有良好的互交性和精巧的图表设计;而Python是门富有表达力的的语言,很适合用于数据处理,当两者结合时pyecharts就出现了。因此可视化图表就是基于pyechars模块去构建的。pyechars是由百度团队所构建的,因此它具有很丰富的中文文档。它的官方网站是pyechars.org里面具有很多图标,然后打开一个网站([gallery.pyecharts.org/)这是pyechars…
from pyecharts.charts import Line
"""
Gallery 使用 pyecharts 1.1.0
参考地址: https://echarts.apache.org/examples/editor.html?c=line-marker
目前无法实现的功能:
1、最低气温的最高值暂时无法和 Echarts 的示例完全复刻
"""
week_name_list = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
high_temperature = [11, 11, 15, 13, 12, 13, 10]
low_temperature = [1, -2, 2, 5, 3, 2, 0]
(
Line()
.add_xaxis(xaxis_data=week_name_list)
.add_yaxis(
series_name="最高气温",
y_axis=high_temperature,
markpoint_opts=opts.MarkPointOpts(
data=[
opts.MarkPointItem(type_="max", name="最大值"),
opts.MarkPointItem(type_="min", name="最小值"),
]
),
markline_opts=opts.MarkLineOpts(
data=[opts.MarkLineItem(type_="average", name="平均值")]
),
)
.add_yaxis(
series_name="最低气温",
y_axis=low_temperature,
markpoint_opts=opts.MarkPointOpts(
data=[opts.MarkPointItem(value=-2, name="周最低", x=1, y=-1.5)]
),
markline_opts=opts.MarkLineOpts(
data=[
opts.MarkLineItem(type_="average", name="平均值"),
opts.MarkLineItem(symbol="none", x="90%", y="max"),
opts.MarkLineItem(symbol="circle", type_="max", name="最高点"),
]
),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="未来一周气温变化", subtitle="纯属虚构"),
tooltip_opts=opts.TooltipOpts(trigger="axis"),
toolbox_opts=opts.ToolboxOpts(is_show=True),
xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=False),
)
.render("temperature_change_line_chart.html")
)
那我们如何安装pyecharts包呢?可以打开windows找到命令提示符,然后通过pip命令(pip install pyecharts)安装好了之后输入Python进入到Python的解释器环境中输入import导入pyecharts模块,如果没有出现问题就可以使用pyechars第三方包了。
接下来是构造基础折线图:
# 导包,导入line功能构建折线图对象
from pyecharts.charts import Line
# 得到折线图对象
line = Line()
# 添加x轴数据
line.add_yaxis(["中国","美国","英国"])
# 添加y轴数据
line.add_yaxis("GDP",[30,20,10])
# 生成图表
line.render()
从代码中我们可以知道要构建一个基础的折线图我们首先要导入包得到折线图对象然后在添加x和y轴的数据最后生成图表就可以了。 当我们运行的时候运行结果并没有出现图表,而是出现了一个文件(render.html),打开该文件点击右上角选择一个浏览器打开就能得到图表了。
pyecharts有很多的配置选项,常用的有两个:全局配置选项和系列配置选项。全局配置选项可以通过set_global_opts方法来配置,相应的选项和功能如下表:
下面通过代码来去简单的演示一下:
from pyecharts.charts import Line
from pyecharts.options import TitleOpts, LegendOpts, ToolboxOpts, VisualMapOpts
# 得到折线图对象
line = Line()
# 添加x轴数据
line.add_xaxis(["中国", "美国", "英国"])
# 添加y轴数据
line.add_yaxis("GDP", [30, 20, 10])
# 生成图表
line.render()
# 设置全职配置项set_global_opts来设置
is_show=True
line.set_global_opts(
# 标题的配置(把标题“GDP展示”放在中间最下面距离是%1
title_opts=TitleOpts(title="GDP展示",pos_left="cente", pos_bottom="1%"),
legend_opts=LegendOpts(is_show=True), # 比例的显示
toolbox_opts=ToolboxOpts(is_show=True), # 工具包的配置
visualmap_opts=VisualMapOpts(is_show=True), # 视觉的配置
)
line.render()
结果图:
通过与上图对比我们可以发现新图表增加了标题,比列和工具。
接下来是数据的处理:我们是通过json模块去处理数据的。打开懒人工具网站找到json数据打开就可以查看数据了(数据以字典形式存在)。首先从文件中取出我们需要的数据,然后去掉不和json模范的开头和结尾,再把json数据转化为Python字典,接着把数据分别放到x和y轴上去,最后生成图表即可。
以上就是创建折线图的基本方法了。
题外话
感谢你能看到最后,给大家准备了一些福利!
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python兼职渠道推荐*
学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
若有侵权,请联系删除