亲宝软件园·资讯

展开

Python数据可视化

Shewyoo 人气:0

案例描述

根据可参考数据,实现对疫情确诊人数数据的可视化。

利用json转换工具,将数据格式化,需要取出下面两部分的内容。

可视化效果图:

实现步骤

一、导入模块

导入可能用到的模块

import json
from pyecharts.charts import Line

二、读取文件内容

打开相应的文件,使用变量us_data保存文件的内容

f_us = open("D:/美国.txt","r",encoding="UTF-8")
us_data = f_us.read()

去掉不符合json规范的开头

json文件是一个单独的字典或一个内部元素都是字典的列表。

所以文件内容是字典或列表的格式。

us_data = us_data.replace("jsonp_1629344292311_69436(","")

去掉不符合json规范的结尾

使用切片截取除了最后两个字符的其他字符。

us_data = us_data[:-2]

三、json转换python

将json文件内容转换为python,即字符串转换为字典。

us_dict = json.loads(us_data)

四、获取需要用到的数据

获取字典中用于x、y轴的数据。

# 获取trend key
trend_data = us_dict['data'][0]['trend']
# 获取日期数据,取2020一年的数据,到314下标结束
x_data = trend_data['updateDate'][:314]
# 获取确诊数据
y_data = trend_data['list'][0]['data'][:314]

五、生成图表

构建对象

line = Line()

添加x、y轴数据

line.add_xaxis(x_data)
line.add_yaxis("美国确诊人数",y_data)

如果不想折线图上显示数字数据可以这样写

line.add_yaxis("美国确诊人数",y_data,label_opts=LabelOpts(is_show=False))

设置全局选项

# 先导入需要用到的模块
from pyecharts.options import TitleOpts
# 设置
line.set_global_opts(
    title_opts=TitleOpts(title="2020年美国确诊人数折线图",pos_left="center",pos_bottom="1%")
)

调用render方法,生成图表

line.render()

六、关闭文件

在打开文件,使用完文件后,一定记得关闭文件。

f_us.close()

运行后打开render.html文件就可以了。

加载全部内容

相关教程
猜你喜欢
用户评论