目录

一.json模块对数据进行处理

二.利用pyecharts画折线图

三.利用pyecharts画美、日、印三国家折线图

四.本文数据集

注:本次实验的数据在文章最后面,我已上传至百度网盘

一.json模块对数据进行处理

上面三个txt文本是这三个国家疫情爆发相关的数据

我们先以美国为例
我们可以看到,这文件里面有些地方不符合json格式,所以在用改文件之前就需要我们去处理

处理json格式的数据我们需要借用json在线解析工具
我这里用的是:

将正确格式复制粘贴到“json数据”中,然后再点击“视图”

这里就会给我们一个流程图
这里我们就要开始分析:

我们需要的是,美国疫情确诊人随时间的变化,我们依次打开就可以找到

这两个部分就是我们需要的 ,我们可以知道这里json是一个字典类型,那么我们就是先要从json中找到data这个key,data是一个列表嵌套一个字典,所以我们用data[0]就可以取得列表里面的内容,从列表里面找到trend这个key,然后同理,再从trend这个字典中找出updateData和data

代码如下

import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts
#处理数据
f_us=open("D:/美国.txt","r",encoding="utf-8")
us_data=f_us.read()
#去掉不合json规范的开头
us_data=us_data.replace("jsonp_1629344292311_69436(","")
#去掉不合JSON规范的结尾
us_data=us_data[:-2]
#json转python字典
us_dict = json.loads(us_data)
#获取trend key
trend_data=us_dict["data"][0]["trend"]
print(trend_data)
#获取日期数据,用于x轴,取到2020年(到下标314结束)
us_x_data=trend_data["updateDate"][:314]
print(us_x_data)
#获取确诊数据,用于y轴,取到2020年(到下标314结束)
us_y_data=trend_data["list"][0]["data"][:314]
print(us_y_data)

结果是

二.利用pyecharts画折线图

import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts
#处理数据
f_us=open("D:/美国.txt","r",encoding="utf-8")
us_data=f_us.read()
#去掉不合json规范的开头
us_data=us_data.replace("jsonp_1629344292311_69436(","")
#去掉不合JSON规范的结尾
us_data=us_data[:-2]
#json转python字典
us_dict = json.loads(us_data)
#获取trend key
trend_data=us_dict["data"][0]["trend"]
print(trend_data)
#获取日期数据,用于x轴,取到2020年(到下标314结束)
us_x_data=trend_data["updateDate"][:314]
print(us_x_data)
#获取确诊数据,用于y轴,取到2020年(到下标314结束)
us_y_data=trend_data["list"][0]["data"][:314]
print(us_y_data)
#生成图表
line=Line()#构建折线图对象
#添加x轴对象
line.add_xaxis(us_x_data)
#添加y周数据
line.add_yaxis("美国确诊人数",us_y_data)
#设置全局变量
line.set_global_opts(title_opts=TitleOpts(title="2020年美国确诊人数折线图",pos_left="center",pos_bottom="1%")
)
#调用render方法,生成图表
line.render()
#关闭文件
f_us.close()

结果是

三.利用pyecharts画美、日、印三国家折线图

日本和印度的数据处理部分,跟美国的处理方法是一样的,代码如下:

import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts
#处理数据
f_us=open("D:/美国.txt","r",encoding="utf-8")
f_jp=open("D:/日本.txt","r",encoding="utf-8")
f_in=open("D:/印度.txt","r",encoding="utf-8")us_data=f_us.read()
jp_data=f_jp.read()
in_data=f_in.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(","")#去掉不合JSON规范的结尾
us_data=us_data[:-2]
jp_data=jp_data[:-2]
in_data=in_data[:-2]#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轴,取到2020年(到下标314结束)
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轴,取到2020年(到下标314结束)
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轴对象
line.add_xaxis(us_x_data)#因为x轴都是一样的,所以就用一个就可
#添加y周数据
line.add_yaxis("美国确诊人数",us_y_data)
line.add_yaxis("日本确诊人数",jp_y_data)
line.add_yaxis("印度确诊人数",in_y_data)#设置全局变量
line.set_global_opts(title_opts=TitleOpts(title="2020年美国、日本、印度确诊人数折线图",pos_left="center",pos_bottom="1%")
)
#调用render方法,生成图表
line.render()
#关闭文件
f_us.close()
f_jp.close()
f_in.close()

结果是

还有一个下问题:很多数字重叠了

我们可以利用全局选项中的图例来解决,让其不显示

按下Ctrl+p就会显示有哪些位置参数,label_opts就是控制图例的

#添加y周数据
line.add_yaxis("美国确诊人数",us_y_data,label_opts=False)
line.add_yaxis("日本确诊人数",jp_y_data,label_opts=False)
line.add_yaxis("印度确诊人数",in_y_data,label_opts=False)

结果是

四.本文数据集

链接:https://pan.baidu.com/s/1xAS8NQR1lWVIfhm8j09TXg 
提取码:1234

python利用json和pyecharts画折线图实例相关推荐

  1. python应用第三方库pyecharts画折线图

    应用pyecharts库绘制折线图 #导包 import pandas as pd from pyecharts.charts import Line from pyecharts import op ...

  2. python设置折线图标题字体为宋体_python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)...

    最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...

  3. Chart.js使用教程,画折线图实例

    第一步 准备好chart.js和excanvas.js(用于ie浏览器兼容) 下载地址:https://github.com/nnnick/Chart.js 参考文档地址:http://www.boo ...

  4. python数据可视化—用pyecharts画雷达图

    什么是pyecharts pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.用 Echarts 生成的图可视化效果非常棒,pyech ...

  5. pyecharts 画折线图去掉折线上小圆圈

    如果想删除上图标记出来的小圆圈,变为如下形式: 只需在代码中加入 is_symbol_show = False 即可: line.add(country,date_column, _dict[coun ...

  6. python画折线图详解-利用python画出折线图

    本文实例为大家分享了python画折线图的具体代码,供大家参考,具体内容如下 # encoding=utf-8 import matplotlib.pyplot as plt from pylab i ...

  7. python画折线图-利用python画出折线图

    本文实例为大家分享了python画折线图的具体代码,供大家参考,具体内容如下 # encoding=utf-8 import matplotlib.pyplot as plt from pylab i ...

  8. python如何绘制折线图-python如何画折线图

    python画折线图利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图:# -*- coding: UTF-8 -*- import numpy as ...

  9. python画折线图代码-python画折线示意图实例代码

    python画折线图方法 前做PPT要用到折线图,嫌弃EXCEL自带的看上去不好看,就用python写了一个画折线图的程序. import matplotlib.pyplot as plt x=[1, ...

最新文章

  1. 仿百度GIF验证码 GIFEncoder 跳动验证码 随机背景色、颜色、字体、子大小、偏移、干扰线等...
  2. Resilio(BtSync)搭建
  3. Turn off UAC, Windows Firewall, Set time zone
  4. 因为高考砸了,所以大学一直在超越
  5. 一步步创建 边栏 Gadget(一)
  6. 太阳能电池基本特性实验报告_太阳能电池基本特性研究实验报告的数据处理Ini怎么?太阳能电池基 爱问知识人...
  7. oracle学习小结3之索引
  8. 推荐使用maven生成mybatis代码
  9. BP神经网络数据预测(excel)
  10. 计算机命令关闭445端口,关闭445端口命令是什么?设置关闭445端口的步骤教程
  11. 如何成为一个合格的JAVA初级程序员
  12. openwrt nas_真牛气,矿渣蜗牛星际也能玩软路由Openwrt和NAS虚拟一体机
  13. Linux下解压分包文件zip(zip/z01/z02)【转】
  14. 手机短信验证码一次性 需要第三方平台
  15. QT实现绘制箱须图(盒须图)
  16. create-react-app配置总结
  17. 办公室局域网打印机配置笔记及0x0000011b连接错误成功解决方法
  18. Gym - 102460L Largest Quadrilateral(几何-凸包+旋转卡壳求最大的四边形面积)
  19. 企业微信H5页面title返回上一页不更新解决
  20. 电脑出现蓝屏英文要怎么处理?有什么好的处理方法么?

热门文章

  1. mysql的select语句写计算公式
  2. java-net-php-python-jspm失踪儿童登记系统计算机毕业设计程序
  3. rust怎么传送坐标_迷你世界地心世界怎么去 地心传送门制作方法
  4. 时尚电商新赛道—FashionAI 技术揭秘
  5. 嵌入式开发培训班费用大概多少?要学哪些课程?
  6. uni-app/微信小程序 分享功能(开启右上角分享)@令狐张豪
  7. Golang通脉之结构体
  8. QString的indexOf匹配问题
  9. python计算1的平方减2的平方加3的平方减4的平方怎么算_已知X的平方加4x减一等于零 求2x的四次方加八X的三次方减四X的平方减八X加一的值...
  10. 一起认识关于CQC认证详解!!!