78-数据可视化-折线图

1.json数据格式

复制代码
1.1 什么是json
JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织
和封装数据;JSON本质上是一个带有特定格式的字符串

1.2主要功能:
json就是一种在各个编程语言中流通的数据格式,负责不同编程
语言中的数据传递和交互. 
类似于:
中国56个民族不同地区的通用语言-普通话

2.pyecharts模块介绍

图表地址

3.pyecharts快速入门

4. 数据处理

bash 复制代码
# -*- coding: utf-8 -*-
"""
@Project : 01-python-learn
@File    : 01_了解json.py
@IDE     : PyCharm
@Author  : 刘庆东
@Date    : 2025/9/22 9:11

用到了数据容器,大家课下要做复习工作!!!

"""

#json数据格式
#{"name":"张无忌","age":23}

#这也是json数据格式
#[{"name":"张无忌","age":23},{"name":"赵敏","age":24},{"name":"周志国","age":25}]

# 1. 导入json模块
import json

#数据转换
data=[{"name":"张无忌","age":23},{"name":"赵敏","age":24},{"name":"周志国","age":25}]

jsons_data=json.dumps(data)

#
print(type(jsons_data))
# 控制台输出 <class 'str'>

print("------------------------------")
my_data=json.loads(jsons_data)

print(type(my_data))
print(my_data)

"""
 小结:
    python中的json 无非就是一个单独的字典  或者是一个内部元素是字典的列表
     json 可以和 python中的字典或者列表进行无缝转换
     
"""

5.创建折线图

bash 复制代码
# -*- coding: utf-8 -*-
"""
@Project : 01-python-learn
@File    : 02_折线图.py
@IDE     : PyCharm
@Author  : 刘庆东
@Date    : 2025/9/22 9:26


"""
# 1. 需要安装 pyecharts 模块 只需要执行一次即可

#2. 导入模块  Line 是做折线的
from pyecharts.charts import Line
# 做一个全局设置
"""
TitleOpts, 标题
LegendOpts,图例
ToolboxOpts,工具箱
VisualMapOpts 视觉映射
全局设置 参考下面的链接:

https://pyecharts.org/#/zh-cn/global_options
"""
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts

# 3. 创建线的对象
line=Line()

# 4. 添加x轴的数据
line.add_xaxis(["罗老师","小周","小黄"])

# 5.统计周末的学习时长
line.add_yaxis("学习时长",[28,23,48])

#5.1 做全局配置
line.set_global_opts(
    #标题设置  ctrl+p  三个参数 1.标题名称  2.位置   3.距离底部有多远
    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),
)


# 6.生成折线图
line.render()

print("生成成功了!!")
bash 复制代码
# -*- coding: utf-8 -*-
"""
@Project : 01-python-learn
@File    : 03_折线图开发.py
@IDE     : PyCharm
@Author  : 刘庆东
@Date    : 2025/9/22 10:11

D:\2025顺义大数据\数据集\python可视化案例数据\折线图数据\美国.txt
"""

import json #导入json
from pyecharts.charts import Line #折线图开发
from pyecharts.options import TitleOpts, LegendOpts, ToolboxOpts, VisualMapOpts, LabelOpts  # 美化工作

# 1.处理数据
files=open("D:/2025顺义大数据/数据集/python可视化案例数据/折线图数据/美国.txt","r",encoding="utf-8")
# 2. 读取全部内容
us_data=files.read()
#关闭流
files.close()

#去掉不合法的数据 [数据清洗]
us_data=us_data.replace("jsonp_1629344292311_69436(","")

# 结尾不要用替换
us_data=us_data[:-2]

print(us_data)

#将  json数据转换为字典数据
us_dict=json.loads(us_data)

#获取key 切片取出数据
us_trend_data=us_dict['data'][0]['trend']

#x轴的数据
us_x_data=us_trend_data['updateDate'][:314]

#y轴的数据
us_y_data=us_trend_data['list'][0]['data'][:314]

#创建图表对象
line=Line()
#添加x轴数据  三个国家的 数据展示 X轴是可以共用的!!
line.add_xaxis(us_x_data)

#添加y轴数据 因为涉及到美国 日本和印度 疫情死亡人数
#line.add_yaxis("美国确诊人数",us_y_data,label_opts=LabelOpts(is_show=False))
line.add_yaxis("美国确诊人数",us_y_data)

#5.1 做全局配置
line.set_global_opts(
    #标题设置  ctrl+p  三个参数 1.标题名称  2.位置   3.距离底部有多远
    title_opts=TitleOpts(title="2020年疫情折线图",pos_left="center",pos_bottom="1%"),
    # 图例的设置
    legend_opts=LegendOpts(is_show=True),
    # 工具箱
    toolbox_opts=ToolboxOpts(is_show=True),
    #视觉映射
    visualmap_opts=VisualMapOpts(is_show=True),
)


# 6.生成折线图
line.render()

print("生成成功了!!疫情数据")

最终完成效果图:

相关推荐
这里有鱼汤1 小时前
📊量化实战篇:如何计算RSI指标的“拥挤度指标”?
后端·python
JJJJ_iii1 小时前
【机器学习05】神经网络、模型表示、前向传播、TensorFlow实现
人工智能·pytorch·python·深度学习·神经网络·机器学习·tensorflow
William.csj1 小时前
服务器/Pytorch——对于只调用一次的函数初始化,放在for训练外面和里面的差异
人工智能·pytorch·python
Ingsuifon1 小时前
pytorch踩坑记录
人工智能·pytorch·python
smj2302_796826522 小时前
解决leetcode第3721题最长平衡子数组II
python·算法·leetcode
m0_626535202 小时前
力扣题目练习 换水问题
python·算法·leetcode
软件技术NINI2 小时前
MATLAB疑难诊疗:从调试到优化的全攻略
javascript·css·python·html
Q_Q19632884752 小时前
python+uniapp基于微信小程序的助眠小程序
spring boot·python·小程序·django·flask·uni-app·node.js
ZYMFZ2 小时前
python面向对象
前端·数据库·python
wangqiaowq2 小时前
ImmutableList.of() 是 Google Guava 库 提供的一个静态工厂方法,用于创建一个不可变的(immutable)列表。
开发语言·windows·python