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

Python折线图

文章目录

  • 1.数据可视化——折线图
    • 1.1 json数据格式
    • 1.2 Python数据和Json数据的相互转化
    • 1.3 pyecharts模块
      • 1.3.1 构建基础折线图
      • 1.3.2 pyecharts配置选项
    • 1.4 数据处理
    • 1.5 创建折现图

1.数据可视化——折线图

1.1 json数据格式

是一种轻量级数据交互格式,可以按照JSON指定的格式组织和封装数据。
本质上是一个带有特定格式的字符串。
是不同语言之间的中转站。
在这里插入图片描述

1.2 Python数据和Json数据的相互转化

import jsondata = [{"name":"张大山","age":11},{"name":"王大锤","age":13},{"name":"赵啸虎","age":16}]
json_str = json.dumps(data, ensure_ascii=False)
print(json_str)
print(type(json_str))
  1. 通过json.dumps(data)方法将Python数据转化为json数据data = json.dumps(data)
    若有中文,则可以带上ensure_ascii=False却把送中文正常转换。
  2. 通过json.loads(data)方法将json数据转化为python列表或字典。

1.3 pyecharts模块

官方网站:pyecharts.org
画廊官方网站:gallery.pyecharts.org
画廊网站有许多图表,可供使用者使用。

1.3.1 构建基础折线图

# 导包,导入Line功能构建折线图对象
from pyecharts.charts import Line# 得到折线图对象
line = Line()
# 添加x轴数据
line.add_xaxis(["中国","美国","英国"])
# 添加y轴数据
line.add_yaxis("GDP",[30,20,10])
# 生成图表
line.render()

1.3.2 pyecharts配置选项

  1. 全局配置
    通过set_global_opts方法配置。
# 导包,导入Line功能构建折线图对象
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
# 得到折线图对象
line = Line()
# 添加x轴数据
line.add_xaxis(["中国","美国","英国"])
# 添加y轴数据
line.add_yaxis("GDP",[30,20,10])
# 设置全局配置项
line.set_global_opts(title_opts = TitleOpts(title="GDP展示",pos_left="center",pos_bottom="1%"),    # 标题legend_opts = LegendOpts(is_show=True),                                      # 图例toolbox_opts = ToolboxOpts(is_show=True),                                    # 工具包visualmap_opts = VisualMapOpts(is_show=True),                                # 视觉映射
)
# 生成图表
print(line.render())

1.4 数据处理

import json
f_us = open("F:/python LangChain/可视化案例数据/折线图数据/美国.txt","r",encoding="utf-8")
us_data = f_us.read()
us_data = us_data.replace("jsonp_1629344292311_69436(","")
us_data = us_data[:-2]
us_dict = json.loads(us_data)
trend = us_dict['data'][0]['trend']
x_data = trend['updateDate'][:314]
y_data = trend['list'][0]['data'][:314]

1.5 创建折现图

import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts
from pyecharts.options import LabelOpts
#打开文件
f_us = open("F:/python LangChain/可视化案例数据/折线图数据/美国.txt","r",encoding="utf-8")
us_data = f_us.read()
f_jp = open("F:/python LangChain/可视化案例数据/折线图数据/日本.txt","r",encoding="utf-8")
jp_data = f_jp.read()
f_in = open("F:/python LangChain/可视化案例数据/折线图数据/印度.txt","r",encoding="utf-8")
in_data = f_in.read()# 去掉不合理开头
us_data = us_data.replace("jsonp_1629344292311_69436(","")
jp_data = jp_data.replace("jsonp_1629350871167_29498(","")
in_data = in_data.replace("jsonp_1629350745930_63180(","")# 去掉不合理结尾
us_data = us_data[:-2]
jp_data = jp_data[:-2]
in_data = in_data[:-2]# JSON转字典
us_dict = json.loads(us_data)
jp_dict = json.loads(jp_data)
in_dict = json.loads(in_data)# 获取trend key
us_trend = us_dict['data'][0]['trend']
jp_trend = jp_dict['data'][0]['trend']
in_trend = in_dict['data'][0]['trend']# 取x轴,y轴数据
us_x_data = us_trend['updateDate'][:314]
us_y_data = us_trend['list'][0]['data'][:314]jp_x_data = jp_trend['updateDate'][:314]
jp_y_data = jp_trend['list'][0]['data'][:314]in_x_data = in_trend['updateDate'][:314]
in_y_data = in_trend['list'][0]['data'][:314]# 生成图表
line = Line()
# 添加x轴数据
line.add_xaxis(us_x_data)   # x轴共用,使用一个国家即可
# 添加y轴数据
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 = "2020年美日印三国确诊人数折线图",pos_left = "center",pos_bottom = "1%"))
# 调用render方法,生成图表
line.render()# 关闭文件对象
f_us.close()
f_jp.close()
f_in.close()

在这里插入图片描述

http://www.dtcms.com/a/301058.html

相关文章:

  • Spring 核心流程
  • 问津集 #2:High Compression and Fast Search on Semi-Structured Logs
  • 网络基础19:OSPF多区域实验
  • 小黑课堂计算机二级 WPS Office题库安装包2.52_Win中文_计算机二级考试_安装教程
  • C++算法竞赛篇(五)循环嵌套题型讲解
  • java开闭原则 open-closed principle
  • 商品中心—1.B端建品和C端缓存
  • 内网服务器实现从公网穿透
  • NVMe高速传输之摆脱XDMA设计16:队列管理模块设计(上)
  • Python 列表推导式与生成器表达式
  • 激光SLAM技术综述(2025版)
  • Python入门构建网页
  • Linux驱动20 --- FFMPEG视频API
  • 基于Django的天气数据可视化分析预测系统
  • Coze:字节跳动AI开发平台功能和架构解析
  • 第五章 中央处理器(CPU)知识体系与考法总结
  • 虚拟机ubuntu20.04共享安装文件夹
  • ubuntu 部署 coze-loop
  • C语言函数递归详解
  • 运行时长和内存优化:混合精度训练(MPT)案例和梯度检查点(GCP)
  • LWGJL教程(6)——GL20源码
  • Python初学OpenCV:图像预处理进阶指南(二)
  • 使用frp实现免费内网穿透
  • 【2025CVPR-扩散模型方向】TKG-DM:免训练的色度关键内容生成扩散模型
  • 区块链:工作量证明与联邦学习
  • ArkTS 模块通信全解析:用事件总线实现页面消息联动
  • rapidocr v3.3.0发布了
  • [10月考试] D
  • 【lucene】MMapDirectory 在FSDirectory基础上干了啥?
  • 链表算法综合——重排链表