python 数据可视化折线图练习(下:代码演示)

根据上篇对三国疫情情况数据的罗列,构建折线图完成数据展示。(示例如下)

接下来是具体代码演示

python 复制代码
import  json
from pyecharts.charts  import  Line
from pyecharts.options import TitleOpts , LegendOpts , ToolboxOpts ,VisualMapOpts , TooltipOpts , LabelOpts


#折线图开发
f_us = open("D://美国.txt" , "r" , encoding= "UTF-8")
us_data = f_us.read() # 美国的全部内容

f_jp = open("D://日本.txt" , "r" , encoding= "UTF-8")
jp_data = f_jp.read() # 日本的全部内容

f_in = open("D://印度.txt" , "r" , encoding= "UTF-8")
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格式的开头内容(考虑到在json数据中也可能出现");"的内容)
# us_data.replace(");" , "")  应该在切片后在进行replace
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"]

us_x_data = us_trend_data["updateDate"][:314]
jp_x_data = jp_trend_data["updateDate"][:314]
in_x_data = in_trend_data["updateDate"][: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()
line.add_xaxis(us_x_data)  #x轴是公用的,所以只使用一个国家的数据即可

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))

#添加表格样式
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= True),
        visualmap_opts = VisualMapOpts(is_show= True),
        tooltip_opts = TooltipOpts(is_show= True),

)

#调用render方法 , 生成图表
line.render()

f_us.close()
f_in.close()
f_jp.close()

最后是三大板块的主要归纳,可对照学习

1.读取三国数据全部内容

2.获取日期数据,用于x轴,取2020年(下标为341)

3.表格建立 + 添加表格样式

相关推荐
实名上网宋凯宣4 小时前
Django
后端·python·django
如若1236 小时前
【论文复现】CoFailMed:从零复现医学图像分割的共享失败审计,含完整代码流程与科研绘图
人工智能·python
砚底藏山河7 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
视觉小萌新7 小时前
AI Class 3 · Chapter 1:变量、字符串、list/dict、if/for(python学习-小白版-有经验可跳过)
python·学习·list
薛定谔的猫-菜鸟程序员8 小时前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师
Ramble_Naylor10 小时前
Rust深度解读:Send 与 Sync 的本质与线程安全边界
python·算法·rust
Allen_LVyingbo10 小时前
NVIDIA CUDA Tile 在医疗计算中的算子形式化、算法重构与内核实现
大数据·python·算法·重构·知识图谱·健康医疗·数据库架构
云和数据.ChenGuang10 小时前
Python 闭包详解:从原理到实战
linux·开发语言·人工智能·python·kubernetes
我命由我1234512 小时前
Python 实用操作 - 文件操作(打开与关闭文件、读取文件、文件写入)
java·开发语言·前端·javascript·数据库·python·java-ee
青少儿编程课堂12 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:倍增法求最近公共祖先LCA解析
c++·python·算法·bfs·信息学竞赛