当前位置: 首页 > news >正文

数据准备|生成折线图

P103 数据准备

网站(通过第三方工具查看标准json数据):ab173

打开后-json相关-json视图-粘贴json数据-格式化

数据处理

"""
演示可视化需求1:折线图开发
"""import json# 处理数据
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)
# print(type(us_dict))
# print(us_dict)
# 获取trend key
trend_data=us_dict['data'][0]['trend']
# print(type(trend_data))
# print(trend_data)
# 获取日期数据,用于x轴,取2020年(到314下标结束)
x_data=trend_data['updateDate'][:314]
print(x_data)
# 获取确认数据,用于y轴,取2020年(到314下标结束)
y_data=trend_data['list'][0]['data'][:314]
print(y_data)
# 生成图表

P104生成折线图

"""
演示可视化需求1:折线图开发
"""import json
from pyecharts.charts import Line# 处理数据
f_us=open("D:/美国.txt","r",encoding="UTF-8")
us_data=f_us.read()      # 读取美国的全部内容f_in=open("D:/印度.txt","r",encoding="UTF-8")
in_data=f_in.read()      # 读取印度的全部内容f_jp=open("D:/日本.txt","r",encoding="UTF-8")
jp_data=f_jp.read()      # 读取日本的全部内容# 去掉不符json规范的开头
us_data=us_data.replace("jsonp_1629344292311_69436(","")
in_data=in_data.replace("jsonp_1629350745930_63180(","")
jp_data=jp_data.replace("jsonp_1629350871167_29498(","")
#去掉不合json规范的结尾
us_data=us_data[:-2]     # 用切片去掉最后两个字符
in_data=in_data[:-2]
jp_data=jp_data[:-2]
# json转python字典
us_dict=json.loads(us_data)
in_dict=json.loads(in_data)
jp_dict=json.loads(jp_data)
# print(type(us_dict))
# print(us_dict)
# print(type(in_dict))
# print(in_dict)
# print(type(jp_dict))
# print(jp_dict)# 获取trend key
us_trend_data=us_dict['data'][0]['trend']
in_trend_data=in_dict['data'][0]['trend']
jp_trend_data=jp_dict['data'][0]['trend']
# print(type(us_trend_data))
# print(us_trend_data)
# 获取日期数据,用于x轴,取2020年(到314下标结束)
us_x_data=us_trend_data['updateDate'][:314]
in_x_data=in_trend_data['updateDate'][:314]
jp_x_data=jp_trend_data['updateDate'][:314]
# print(us_x_data)
# print(in_x_data)
print(jp_x_data)
# 获取确认数据,用于y轴,取2020年(到314下标结束)
us_y_data=us_trend_data['list'][0]['data'][:314]
in_y_data=in_trend_data['list'][0]['data'][:314]
jp_y_data=jp_trend_data['list'][0]['data'][:314]# print(us_y_data)
# print(in_y_data)# 生成图表
line=Line()         # 构建折线图对象
# 添加x轴数据
line.add_xaxis(us_x_data)    # x轴是共用的,所以使用一个国家的数据即可
# 添加y轴数据
line.add_yaxis("美国确诊人数",us_y_data)   # 添加美国y轴数据
line.add_yaxis("印度确诊人数",in_y_data)
line.add_yaxis("日本确诊人数",jp_y_data)# 调用render方法,生成图表
line.render()# 关闭文件对象
f_us.close()
f_in.close()
f_jp.close()

美化一下:

  1. 添加标题
  2. 去掉折线上的数字
"""
演示可视化需求1:折线图开发
"""import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts, LabelOpts,LabelOpts# 处理数据
f_us=open("D:/美国.txt","r",encoding="UTF-8")
us_data=f_us.read()      # 读取美国的全部内容f_in=open("D:/印度.txt","r",encoding="UTF-8")
in_data=f_in.read()      # 读取印度的全部内容f_jp=open("D:/日本.txt","r",encoding="UTF-8")
jp_data=f_jp.read()      # 读取日本的全部内容# 去掉不符json规范的开头
us_data=us_data.replace("jsonp_1629344292311_69436(","")
in_data=in_data.replace("jsonp_1629350745930_63180(","")
jp_data=jp_data.replace("jsonp_1629350871167_29498(","")
#去掉不合json规范的结尾
us_data=us_data[:-2]     # 用切片去掉最后两个字符
in_data=in_data[:-2]
jp_data=jp_data[:-2]
# json转python字典
us_dict=json.loads(us_data)
in_dict=json.loads(in_data)
jp_dict=json.loads(jp_data)
# print(type(us_dict))
# print(us_dict)
# print(type(in_dict))
# print(in_dict)
# print(type(jp_dict))
# print(jp_dict)# 获取trend key
us_trend_data=us_dict['data'][0]['trend']
in_trend_data=in_dict['data'][0]['trend']
jp_trend_data=jp_dict['data'][0]['trend']
# print(type(us_trend_data))
# print(us_trend_data)
# 获取日期数据,用于x轴,取2020年(到314下标结束)
us_x_data=us_trend_data['updateDate'][:314]
in_x_data=in_trend_data['updateDate'][:314]
jp_x_data=jp_trend_data['updateDate'][:314]
# print(us_x_data)
# print(in_x_data)
print(jp_x_data)
# 获取确认数据,用于y轴,取2020年(到314下标结束)
us_y_data=us_trend_data['list'][0]['data'][:314]
in_y_data=in_trend_data['list'][0]['data'][:314]
jp_y_data=jp_trend_data['list'][0]['data'][:314]# print(us_y_data)
# print(in_y_data)# 生成图表
line=Line()         # 构建折线图对象
# 添加x轴数据
line.add_xaxis(us_x_data)    # x轴是共用的,所以使用一个国家的数据即可
# 添加y轴数据
line.add_yaxis("美国确诊人数",us_y_data,label_opts=LabelOpts(is_show=False))   # 添加美国y轴数据,折线上的数字不显示
line.add_yaxis("印度确诊人数",in_y_data,label_opts=LabelOpts(is_show=False))
line.add_yaxis("日本确诊人数",jp_y_data,label_opts=LabelOpts(is_show=False))# 设置全局选项
line.set_global_opts(# 标题设置title_opts=TitleOpts(title="2020年美印日三国确诊人数对比折线图",pos_left="center",pos_bottom="1%")
)# 调用render方法,生成图表
line.render()# 关闭文件对象
f_us.close()
f_in.close()
f_jp.close()

http://www.lryc.cn/news/624031.html

相关文章:

  • Python自学09-常用数据结构之元组
  • Java语法进阶之常用类
  • 【新手入门】Android基础知识(二):Binder进程间通信,理解Binder工作原理以及Binder实体、Binder引用、Binder代理概念
  • K8S集群环境搭建(一)
  • 双指针和codetop2(最短路问题BFS)
  • Maven依赖范围
  • 检查xrdp远程连接桌面卡顿的问题(附解决sh脚本)
  • STM32入门之USART串口部分
  • # C++ 中的 `string_view` 和 `span`:现代安全视图指南
  • 多墨智能-AI一键生成工作文档/流程图/思维导图
  • Transformer 面试题及详细答案120道(61-70)-- 解码与生成
  • Spring IOC 学习笔记
  • Spring 创建 Bean 的 8 种主要方式
  • Vue3 中的 ref、模板引用和 defineExpose 详解
  • 数据结构初阶(18)快速排序·深入优化探讨
  • 【深度学习-基础知识】单机多卡和多机多卡训练
  • oom 文件怎么导到visualvm分析家
  • 生成模型实战 | InfoGAN详解与实现
  • 停车位 车辆
  • AI出题人给出的Java后端面经(十七)(日更)
  • 【URP】[法线贴图]为什么主要是蓝色的?
  • YoloV9改进策略:Block改进-DCAFE,并行双坐标注意力机制,增强长程依赖与抗噪性-即插即用
  • LangChain4j
  • Java 学习笔记(基础篇4)
  • C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
  • JavaScript 性能优化实战:从评估到落地的全链路指南
  • SparkSQL性能优化实践指南
  • 第16节:自定义几何体 - 从顶点构建3D世界
  • 【FreeRTOS】刨根问底6: 应该如何防止任务栈溢出?
  • 【网络安全】Webshell的绕过——绕过动态检测引擎WAF-缓存绕过(Hash碰撞)