Python基础综合案例数据可视化 - 折线图可视化
一、json数据格式化
1.什么是json
json是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据
json本质上是一个带有特定格式的字符串
2.主要功能
json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互. 类似于:
国际通用语言-英语
中国56个民族不同地区的通用语言-普通话
3.json有什么用
各种编程语言存储数据的容器不尽相同,在Python中有字典dict这样的数据类型, 而其它语言可能没有对应的字典。
为了让不同的语言都能够相互通用的互相传递数据,JSON就是一种非常良好的中转数据格式。如下图,以Python和C语言互传数据为例:
4.json格式数据转化
json格式的数据要求很严格, 下面我们看一下他的要求
# json数据的格式可以是:
{"name":"admin","age":18}
# 也可以是:
[{"name":"admin","age":18},{"name":"root","age":16},{"name":"张三","age":20}]
5.Python数据和Json数据的相互转化
# 导入json模块
import json
# 准备符合格式json格式要求的python数据
data = [{"name": "老王", "age": 16}, {"name": "张三", "age": 20}]
# 通过 json.dumps(data) 方法把python数据转化为了 json数据
data = json.dumps(data)
# 通过 json.loads(data) 方法把json数据转化为了 python数据
data = json.loads(data)
二、pyecharts模块介绍
如果想要做出数据可视化效果图, 可以借助pyecharts模块来完成
Echarts 是个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可. 而 Python 是门富有表达力的语言,很适合用于数据处理. 当数据分析遇上数据可视化时pyecharts 诞生了.
pyecharts模块安装,使用pip命令即可快速安装PyEcharts模块
- 开发可视化图表使用的技术栈是:
Echarts框架的Python版本:PyEcharts包 - 如何安装PyEcharts包:
pip install pyecharts - 如何查看官方示例
打开官方画廊:
https://gallery.pyecharts.org/#/README
三、pyecharts快速入门
1.基础折线图
# 导包
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])
# 设置全局配置项set_global_opts来设置,
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),
)
# 通过render方法,将代码生成为图像
line.render()
pyecharts模块中有很多的配置选项, 常用到2个类别的选项:
全局配置选项
系列配置选项
set_global_opts方法
这里全局配置选项可以通过set_global_opts方法来进行配置, 相应的选项和选项的功能如下:
四、数据处理
原始数据格式:
import json
# 把不符合json数据格式的 "jsonp_1629350871167_29498(" 去掉
data = data.replace("jsonp_1629350871167_29498(", "")
# 把不符合json数据格式的 ");" 去掉
data = data[:-2]
# 数据格式符合json格式后,对数据进行转化
data = json.loads(data)
# 获取日本的疫情数据
data = data["data"][0]['trend’]
# x1_data存放日期数据
x1_data = data['updateDate’]
# y1_data存放人数数据
y1_data = data['list'][0]["data"]
# 获取2020年的数据
x1_data = data['updateDate'][:314]
# 获取2020年的数据
y1_data = data['list'][0]["data"][:314]
五、创建折线图
import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts, LabelOpts