生成疫情数据折线图

该代码片段展示了如何读取三个不同国家(美国、日本和印度)的COVID-19疫情数据,从JSON格式的文本文件中提取数据,然后利用PyEcharts库创建一个折线图,对比这三个国家的累计确诊病例数。代码首先处理JSON数据的格式问题,然后将数据转换为Python字典,最后绘制出折线图并显示标题。
摘要由CSDN通过智能技术生成
#处理数据
import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LabelOpts
fus=open("J:/data/美国.txt","r",encoding="UTF-8")
us_data=fus.read()

fjp=open("J:/data/日本.txt","r",encoding="UTF-8")
jp_data=fjp.read()

fin=open("J:/data/印度.txt","r",encoding="UTF-8")
in_data=fin.read()
#去掉json不合规范的开头
us_data=us_data.replace("jsonp_1629344292311_69436(","")
jp_data=jp_data.replace("jsonp_1629350871167_29498(","")
in_data=in_data.replace("jsonp_1629350745930_63180(","")
#去掉不和规范的结尾
us_data=us_data.replace(");","")
jp_data=jp_data.replace(");","")
in_data=in_data.replace(");","")
#json转python字典
us_dict=json.loads(us_data)
jp_dict=json.loads(jp_data)
in_dict=json.loads(in_data)
#获取trend 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轴
us_x_data=us_trend_data['updateDate'][:314]
jp_x_data=jp_trend_data['updateDate'][:314]
in_x_data=in_trend_data['updateDate'][:314]
# print(x_data)
#获取确认数据,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]
#print(y_data)
#生成图表
line=Line()
line.add_xaxis(us_x_data)
line.add_yaxis("美国确诊人数",us_y_data,label_opts=LabelOpts(is_show=False))
line.add_yaxis("日本确诊人数",jp_y_data,label_opts=LabelOpts(is_show=False))
line.add_yaxis("印度确诊人数",in_y_data,label_opts=LabelOpts(is_show=False))#label_opts是否显示图里的数字

#设置全局选项
line.set_global_opts(
    title_opts=TitleOpts("2020年美日印三国确诊人数对比折线图",pos_left="center",pos_bottom="1%"),

)
line.render()
#关闭文件对象
fus.close()
fjp.close()
fin.close()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值