数据可视化——用python绘制简单的折线图

在这里插入图片描述

前言

前面我们已经学习了python的基础语法和面向对象,那么接下来我们将学习python编程语言的过人之处——数据的可视化之折线图。

在这里插入图片描述

JSON

说到数据可视化,我们需要先知道什么是JSON。

  • json是一种轻量级的数据交互格式,可以按照json指定的格式去组织和封装数据
  • json本质上是一个带有特定格式的字符串

JSON的主要功能是:

  1. 数据序列化和传输:JSON可以将复杂的数据结构(如对象和数组)转换为字符串形式,以便在网络上进行传输。它跨平台兼容,可以在不同的编程语言中解析和生成。

  2. 人类可读的数据格式:JSON采用了简洁的文本格式,易于阅读和理解。它使用键/值对表示数据,并使用大括号({})表示对象,方括号([])表示数组。

  3. 对象表示:JSON支持对象表示,可以通过键/值对形式表示复杂的数据结构。键是字符串,值可以是字符串、数字、布尔值、对象、数组或null。

  4. 数组表示:JSON支持数组表示,可以在方括号中包含多个值,用逗号分隔。数组可以嵌套,允许存储多层次的数据结构。

  5. 数据交换和存储:JSON广泛用于数据交换和存储。它是许多API和服务的常用数据格式,可以方便地将数据从一个应用程序传输到另一个应用程序。

  6. 跨语言支持: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()

在这里插入图片描述

在这里插入图片描述