当前位置: 首页 > 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.dtcms.com/a/335372.html

相关文章:

  • 如何让AI视频模型(如Veo)开口说中文?一个顶级提示词的深度拆解
  • Spring Boot 项目配置 MySQL SSL 加密访问
  • 【Java后端】Spring Boot 集成 MyBatis-Plus 全攻略
  • 计算机网络 HTTP和HTTPS 区别
  • Rust 条件语句
  • deepseek一键生成word和excel并一键下载
  • 初识CSS
  • [python学习记录1]python简介
  • SHAP分析!NRBO-Transformer-BiLSTM回归预测SHAP分析,深度学习可解释分析!
  • KingbaseES:一体化架构与多层防护,支撑业务的持续稳定运行与扩展
  • 智能制造——解读车企数字化转型构建高效经营管理数据治理体系【附全文阅读】
  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day6
  • 【P14 3-6 】OpenCV Python——视频加载、摄像头调用、视频基本信息获取(宽、高、帧率、总帧数),视频保存在指定位置
  • RH134 访问网络附加存储知识点
  • 解密红外温度芯片的“工作环境温度” 范围
  • 论文推荐|迁移学习+多模态特征融合
  • 存储、硬盘、文件系统、 IO相关常识总结
  • CPP多线程1:C++11的std::thread
  • 再发一篇博客
  • 10.从开始写LINUX内核——时钟中断
  • 从零开始构建在线语言翻译网站:完整开发指南
  • 批次防混的“电子锁”:浪智WMS系统 如何用绑定技术终结出入库乱局
  • 深入理解 Python 元类中的 __prepare__ 方法:掌控类属性定义顺序的艺术
  • 【Html网页模板】赛博朋克数据分析大屏网页
  • 聊聊智慧这个东西之三:从食物的毒性、偏性聊起
  • 一种采用双PID串级控制的双轮自平衡车的研制-论文复现与分析
  • 使用影刀RPA实现快递信息抓取
  • XSS攻击:从原理入门到实战精通详解
  • Python代码规范与静态检查(ruff/black/mypy + pyproject.toml + Makefile)自动化工具链介绍
  • 8.从零开始写LINUX内核——初始化中断控制芯片