使用pyechart创建折线图

python 复制代码
import json
from pyecharts.charts import Line
from pyecharts import options


# 首先使用文件打开数据
f_us = open('Desktop/python/Project/数据可视化/美国.txt','r',encoding="UTF-8")
f_rb = open('Desktop/python/Project/数据可视化/日本.txt','r',encoding="UTF-8")
f_id = open('Desktop/python/Project/数据可视化/印度.txt','r',encoding="UTF-8")
us_data = f_us.read()
rb_data = f_rb.read()
id_data = f_id.read()


# 定义函数,对数据进项处理,取出文章"trend"中的数据。
def data_update(data):
    # 去掉开头用不到的数据(使用for循环,匹配到第一个{之前的所有字符串,都通过序列切片去掉)
    for x in data:
        if x == '{':
            break
        else:
            # 字符串的切片,返回的是从第二个开始到最后一个的字符串
            data = data[1:]
    # 去掉结尾不用的数据,返回的是从第一个开始到倒数第二个的数据
    data =data[:-2]
    # 字符串转字典,使用json方法
    data = json.loads(data)
    # 取出trend_data 部分
    trend_data = data["data"][0]["trend"]
    return trend_data


# 分别调用函数对数据进项处理。
us_data = data_update(us_data)
rb_data = data_update(rb_data)
id_data = data_update(id_data)

# 取出日期数据,作为x轴
x_data_us = us_data["updateDate"][:314]
x_data_rb = rb_data["updateDate"][:314]
x_data_id = id_data["updateDate"][:314]

# 取出确认数据用作Y轴
y_data_us = us_data["list"][0]["data"][:314]
y_data_rb = rb_data["list"][0]["data"][:314]
y_data_id = id_data["list"][0]["data"][:314]

# 生成图标
line = Line()

# 添加X轴,X轴是公用的,所有添加一个就行。
line.add_xaxis(x_data_id)

# 添加Y轴,分别添加美国的日本的印度的Y轴,最后注明折线图中折线上不显示数字。
line.add_yaxis('美国确诊人数',y_data_us,label_opts=options.LabelOpts(is_show=False))
line.add_yaxis('日本确诊人数',y_data_rb,label_opts=options.LabelOpts(is_show=False))
line.add_yaxis('印度确诊人数',y_data_id,label_opts=options.LabelOpts(is_show=False))

# 使用render方法生成折线图
line.render()
# 设置全局选项

line.set_global_opts(
    # 标题设置
    title_opts=options.TitleOpts(title="2020年美日印确诊人数统计",pos_left="center",pos_bottom="1%")
)

# 文件关闭
f_id.close()
f_rb.close()
f_us.close()

效果演示:

相关推荐
小刘在重生~14 小时前
Java常用类|String类详解 + BigDecimal精准计算(含面试题)
java·开发语言·python
大汉堡玩测试15 小时前
langfuse测试实战(一): 配置一个简单的项目快速落地
python·测试工具
一位正在转型AI全栈的前端工程师15 小时前
AI 全栈学习之旅 -Week 8:从单 Agent 到多 Agent 协作:LangGraph 实战与记忆持久化
前端·python
长江后浪博客15 小时前
Python + YOLOv8 疲劳驾驶 AI 视觉检测入门:从模型训练到 ONNX 实时摄像头检测完整实战
人工智能·python·yolo·疲劳驾驶检测·onnx·yolov8
hhzz15 小时前
【OpenCV 入门到精通 01】认识 OpenCV 与计算机视觉:从零建立全局认知
人工智能·python·opencv·计算机视觉·开源
一马平川的大草原16 小时前
如何实现SVG转Mermaid图
python·svg·格式转换·mermaid
PFFstronger16 小时前
基于 Dify 知识库 + Ollama 大模型,自动生成测试用例并导出 XMind 的完整方案
人工智能·python·测试用例·xmind
SomeBottle16 小时前
【小记】图片托管从又拍云迁移到腾讯云 EO + COS(兼容图片处理参数)
python·计算机网络·学习笔记·对象存储·cdn·折腾
cts61817 小时前
FDE架构师前端选型指南
python
2601_9622937918 小时前
【Python教程:自动化处理文件】
python·自动化·编程·文件处理·os模块