python可视化制图(折线图)

"""
简单折线图python程序(三国确诊人数)
"""
# 可视化折线程序
import json # 调用json包
from pyecharts.charts import Line  # 调用pyecharts包中的charts法
from pyecharts.options import TitleOpts, LegendOpts, ToolboxOpts, LabelOpts
# 在txt文件中已经处理好数据格式为json正确形式(删除了开头的字母和末尾的“);”)
# 打开数据文件
f_us = open("H:/fengmin/python-heima/折线图数据/美国.txt", "r", encoding="UTF-8")
f_jp = open("H:/fengmin/python-heima/折线图数据/日本.txt", "r", encoding="UTF-8")
f_in = open("H:/fengmin/python-heima/折线图数据/印度.txt", "r", encoding="UTF-8")
# 读取美国的全部数据
us_data = f_us.read()
jp_data = f_jp.read()
in_data = f_in.read()
# json转python字典
us_dict = json.loads(us_data)
jp_dict = json.loads(jp_data)
in_dict = json.loads(in_data)
# 获取trend key(因为层级关系复杂,所以分开获取key)
us_trend_data = us_dict['data'][0]['trend']
jp_trend_data = jp_dict['data'][0]['trend']
in_trend_data = in_dict['data'][0]['trend']
# 获取x轴的时间数据(取一年的2020年的)
us_x_data = us_trend_data['updateDate'][:314]
jp_x_data = jp_trend_data['updateDate'][:314]
in_x_data = in_trend_data['updateDate'][:314]
# 获取y轴的数据
us_y_data = us_trend_data['list'][0]['data'][:314]
jp_y_data = jp_trend_data['list'][0]['data'][:314]
in_y_data = in_trend_data['list'][0]['data'][:314]
# 构建折线图对象
line = Line()
# 添加x轴和y轴数据
line.add_xaxis(us_x_data)
line.add_yaxis("美国确诊人数", us_y_data, label_opts=LabelOpts(is_show=False)) # labelops可以将原本标在图线上的数据隐藏掉
line.add_yaxis("日本确诊人数", jp_y_data, label_opts=LabelOpts(is_show=False))
line.add_yaxis("印度确诊人数", in_y_data, label_opts=LabelOpts(is_show=False))
# 对图像进行全局设置(注意逗号)
line.set_global_opts(
title_opts =TitleOpts(title="三国家确诊人数图线", pos_left="center", pos_bottom="1%"),
legend_opts=LegendOpts(is_show=True),
toolbox_opts=ToolboxOpts(is_show=False) # 也可以显示工具箱
)
# 生成图像
line.render()
# 关闭文件(一定要关闭,否则报错)
f_us.close()
f_jp.close()
f_in.close()

输出结果图

python可视化制图(折线图)_第1张图片

 

你可能感兴趣的:(python,开发语言,json)