数据可视化——用python绘制简单的折线图
前言
前面我们已经学习了python的基础语法和面向对象,那么接下来我们将学习python编程语言的过人之处——数据的可视化之折线图。
JSON
说到数据可视化,我们需要先知道什么是JSON。
- json是一种轻量级的数据交互格式,可以按照json指定的格式去组织和封装数据
- json本质上是一个带有特定格式的字符串
JSON的主要功能是:
-
数据序列化和传输:JSON可以将复杂的数据结构(如对象和数组)转换为字符串形式,以便在网络上进行传输。它跨平台兼容,可以在不同的编程语言中解析和生成。
-
人类可读的数据格式:JSON采用了简洁的文本格式,易于阅读和理解。它使用键/值对表示数据,并使用大括号({})表示对象,方括号([])表示数组。
-
对象表示:JSON支持对象表示,可以通过键/值对形式表示复杂的数据结构。键是字符串,值可以是字符串、数字、布尔值、对象、数组或null。
-
数组表示:JSON支持数组表示,可以在方括号中包含多个值,用逗号分隔。数组可以嵌套,允许存储多层次的数据结构。
-
数据交换和存储:JSON广泛用于数据交换和存储。它是许多API和服务的常用数据格式,可以方便地将数据从一个应用程序传输到另一个应用程序。
-
跨语言支持:JSON可以在不同的编程语言中解析和生成,因此在不同的平台上可以轻松地共享和处理数据。
因为JSON数据类型使用大括号{ }
表示对象,方括号[ ]
表示数组,而这样的形式在python中与字典和列表的表现方式相同,所以这就很方便。
python 数据与 JSON数据的转换
要进行 python 数据与 JSON 数据的转换,我们需要用到 python 的 json
模块中的 dumps
方法和 loads
方法。
- json.dumps(data) 将 python 数据转换为 JSON 数据
- json.loads(data) 将 JSON 数据转换为 python 数据
import json
data = [{'name':'张三','age':18},{'name':'李四','age':20}]
json_str = json.dumps(data)
print(type(json_str))
result = json.loads(json_str)
print(type(result))
因为 JSON 是一种带有特定格式的字符串,所以他的类型是 str
类型。
使用 pyecharts 模块绘制折线图
下载 pyecharts 模块
我们需要先下载 pyecharts 模块。
在 cmd
中使用 pip install pyecharts
命令下载 pyecharts
模块。
并且 pyecharts 还提供了官网 https://pyecharts.org/#/en-us/ 我么可以在官网中了解相关知识。
在 pyecharts-gallery 网站中,我们可以看到许多绘制的数据可视化图形并且附有参考代码。https://gallery.pyecharts.org/#/README_EN
使用 pyecharts 模块绘制简单的折线图
我们需要用到 pyecharts
包下的 charts
模块下的 Line
方法。
from pyecharts.charts import Line
# 得到折线图对象
line = Line()
# 添加横坐标数据
line.add_xaxis(["中国","美国","日本"])
# 添加纵坐标数据
line.add_yaxis("GDP",[30,20,10])
# 生成图标
line.render()
但我们运行代码之后,会生成一个 render.html
文件。
添加配置选项
这样虽然绘制出了折线图,但是我们可以看到图形比较单调,所以我们可以一些配置选项。
pyecharts 常用的两个配置选项:
- 全局配置选项
- 系列配置选项
那么我们这篇文章主要添加全局配置选项。
使用 set_global_opts
来进行全局配置。我们可以在官网中看有哪些可以配置的全局选项。
我们常使用的全局选项有这些。
这些配置方法都在 pyecharts.options
模块中,我们需要导入相应模块下的方法。
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
我们也可以使用 CTRL + P
来查看参数列表
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
# 得到折线图对象
line = Line()
# 添加横坐标数据
line.add_xaxis(["中国","美国","日本"])
# 添加纵坐标数据
line.add_yaxis("GDP",[30,20,10])
# 添加全局配置选项
line.set_global_opts(title_opts=TitleOpts(title="GDP展示",pos_left="center",pos_bottom="1%"), # 配置标题
legend_opts=LegendOpts(is_show=True), # 配置图例,默认是展示的
toolbox_opts=ToolboxOpts(is_show=True), # 配置工具箱
visualmap_opts=VisualMapOpts(is_show=True)) # 配置视觉映射
# 生成图标
line.render()