数据可视化:折线图
1.初看效果
(1)效果一
(2)数据来源
2.JSON数据格式
其实JSON数据在JAVA后期的学习过程中我已经是很了解了,基本上后端服务器和前端交互数据大多是采用JSON字符串的形式
(1)JSON的作用
(2)json的格式
(3)Python数据和JSON相互转化
代码示例
"""演示Python与JSON数据之间的相互转换
"""
import json# 准备列表,列表内每一个元素都是字典,将其转换为JSON
data = [{"name": "ggj", "age": 13},{"name": "lly", "age": 12},{"name": "lili", "age": 38}
]
json_str = json.dumps(data, ensure_ascii=False)
print(f"类型是:{type(json_str)}")
print(f"内容是:{json_str}")# 准备字典,将字典转换为JSON
d = {"name": "llt", "addr": "GuYi"}
json_str = json.dumps(d, ensure_ascii=False)
print(f"类型是:{type(json_str)}")
print(f"内容是:{json_str}")# 将JSON字符串转换为Python数据类型[{k:v,k:v},{k:v,k:v}]
s = '[{"name": "ggj", "age": 13}, {"name": "lly", "age": 12}, {"name": "lili", "age": 38}]'
list_dict = json.loads(s)
print(f"类型是:{type(list_dict)}")
print(f"内容是:{list_dict}")# 将JSON字符串转换为Python数据类型{k:v, k:v}
s = '{"name": "llt", "addr": "GuYi"}'
dict_json = json.loads(s)
print(f"类型是:{type(dict_json)}")
print(f"内容是:{dict_json}")
其实Python相比于JAVA转化为JSON是非常非常非常非常的easy了,java转化为JSON甚至需要使用例如阿里提供的API,fastJSON,没法直接转换
3.pyecharts模块
链接:pyecharts - A Python Echarts Plotting Library built with love.
画廊:Graph - Graph_les_miserables - Document (pyecharts.org)
然后去cmd命令行下载安装就行啦
具体安装方法可看我的另一篇文章有涉及如下:
第一阶段第九章——异常,模块与包-CSDN博客
4.构建一个基础的折线图
(1)快速入门
代码示例
"""02构建基础的折线图
"""
# 导包,导入Line 功能构建折线图对象
import pyecharts.charts as charts# 得到折线图对象
line = charts.Line()
# 添加x轴数据
line.add_xaxis(["中国", "美国", "英国"])
# 添加y轴数据
line.add_yaxis("GDP", [30, 20, 10])
# 生成图标
line.render()
然后运行就会生成一个.html文件
然后将这个html文件使用浏览器打开即可看见我们的图像,如下
(2)配置选项
1.全局配置选项
2.系列配置选项
这里先不过多阐述,后期文章会有更新
5.疫情折线图生成
代码示例
"""演示可视化需求1,折线图开发
"""
import json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LabelOpts# 数据处理 美国
f_usa = open("D:\\IOText\\DataDoing\\美国.txt", "r", encoding="UTF-8")
usa_data = f_usa.read()f_jp = open("D:\\IOText\\DataDoing\\日本.txt", "r", encoding="UTF-8")
jp_data = f_jp.read()f_idn = open("D:\\IOText\\DataDoing\\印度.txt", "r", encoding="UTF-8")
idn_data = f_idn.read()# 去掉不含JSON规范的开头
usa_data = usa_data.replace("jsonp_1629344292311_69436(", "")
jp_data = jp_data.replace("jsonp_1629350871167_29498(", "")
idn_data = idn_data.replace("jsonp_1629350745930_63180(", "")# 去掉不含JSON规范的结尾
usa_data = usa_data[:-2]
jp_data = jp_data[:-2]
idn_data = idn_data[:-2]# JSON转字典
usa_dict = json.loads(usa_data)
jp_dict = json.loads(jp_data)
idn_dict = json.loads(idn_data)# 获取trend key
usa_trend_data = usa_dict['data'][0]["trend"]
jp_trend_data = jp_dict['data'][0]["trend"]
idn_trend_data = idn_dict['data'][0]["trend"]# 获取日期数据,用于x轴,取2020年(到314下标结束)
usa_x_data = usa_trend_data["updateDate"][:314]
jp_x_data = jp_trend_data["updateDate"][:314]
idn_x_data = idn_trend_data["updateDate"][:314]# 获取确认数据,用于y轴,去2020年(到314下标结束)
usa_y_data = usa_trend_data["list"][0]["data"][:314]
jp_y_data = jp_trend_data["list"][0]["data"][:314]
idn_y_data = idn_trend_data["list"][0]["data"][:314]# 生成图表
# 构建折线图对象
line = Line()# 添加x轴数据,因为三个国家的x轴数据都是一样的所以用哪个无所谓
line.add_xaxis(usa_x_data)
# 添加y轴数据
line.add_yaxis("美国确诊人数", usa_y_data, label_opts=LabelOpts(is_show=False))
line.add_yaxis("日本确诊人数", jp_y_data, label_opts=LabelOpts(is_show=False))
line.add_yaxis("印度确诊人数", idn_y_data, label_opts=LabelOpts(is_show=False))# 设置全局选项
line.set_global_opts(title_opts=TitleOpts(title="2020年美日印三国确诊折线图", pos_left="center", pos_bottom="1%")
)
# 生成图标
line.render()# 关闭文件对象
f_usa.close()
f_jp.close()
f_idn.close()
生成的图表示例
结语
不难不难真的好简单,Python的处理方式真的是太easy了
但是对于并不了解JSON的伙伴来说可能还是有点烦躁吧,多看几遍就好了
好了,再见ヾ( ̄▽ ̄)Bye~Bye~
相关文章:

数据可视化:折线图
1.初看效果 (1)效果一 (2)数据来源 2.JSON数据格式 其实JSON数据在JAVA后期的学习过程中我已经是很了解了,基本上后端服务器和前端交互数据大多是采用JSON字符串的形式 (1)JSON的作用 &#…...

Python语言_matplotlib包_共80种--全平台可用
Python语言_matplotlib包_共80种–全平台可用 往期推荐: Python语言_single_color_共140种–全平台可用 R语言_RColorBrewer包–全平台可用 R语言gplots包的颜色索引表–全平台可用 R语言中的自带的调色板–五种–全平台可用 R语言657中单色colors颜色索引表—全平台…...

OpenFeign 的超时重试机制以及底层实现原理
目录 1. 什么是 OpenFeign? 2. OpenFeign 的功能升级 3. OpenFeign 内置的超时重试机制 3.1 配置超时重试 3.2 覆盖 Retryer 对象 4. 自定义超时重试机制 4.1 为什么需要自定义超时重试机制 4.2 如何自定义超时重试机制 5. OpenFeign 超时重试的底层原理 5…...
redis安装
redis安装 mac下直接安装 mac下安装redis还是很简单的(其实mac下安装什么软件都挺简单的,brew啥都有) brew install redis 之后就是漫长的等待,下了好久,终于下载完了 修改redis.conf中的配置 # 后台启动daemonize yes 启动服务端 redis-serv…...

VM虚拟机逆向 --- [NCTF 2018]wcyvm 复现
文章目录 前言题目分析 前言 第四题了,搞定,算是独立完成比较多的一题,虽然在还原汇编的时候还是很多问题。 题目分析 代码很简单,就是指令很多。 opcode在unk_6021C0处,解密的数据在dword_6020A0处 opcode [0x08, …...

2024天津理工大学中环信息学院专升本机械设计制造自动化专业考纲
2024年天津理工大学中环信息学院高职升本科《机械设计制造及其自动化》专业课考试大纲《机械设计》《机械制图》 《机械设计》考试大纲 教 材:《机械设计》(第十版),高等教育出版社,濮良贵、陈国定、吴立言主编&#…...

华为OD机试 - 服务失效判断 - 逻辑分析(Java 2023 B卷 200分)
目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明 四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题&a…...

刚入职因为粗心大意,把事情办砸了,十分后悔
刚入职,就踩大坑,相信有很多朋友有我类似的经历。 5年前,我入职一家在线教育公司,新的公司福利非常好,各种零食随便吃,据说还能正点下班,一切都超出我的期望,“可算让我找着神仙公司…...

Docker学习——③
文章目录 1、Docker Registry(镜像仓库)1.1 什么是 Docker Registry?1.2 镜像仓库分类1.3 镜像仓库工作机制1.4 常用的镜像仓库 2、镜像仓库命令3、镜像命令[部分]4、容器命令[部分]4.1 docker run4.2 docker ps 5、CentOS 搭建一个 nginx 服…...

EMC Unity存储系统如何查看SSD的使用寿命
为什么要写这个博客? 客户对老的EMC unity的存储系统要扩容,如何确定SSD磁盘是全新的还是拆机二手的?很多时候客户还有一个奇葩的要求,就是要和5年前的磁盘PN一致,甚至要求固件版本一致,最关键的还要求是全…...

python创建一个简单的flask应用
下面用python在本地和服务器上分别创建一个简单的flask应用: 1.在pc本地 1)pip flask后创建一个简单的脚本flask_demo.py from flask import Flaskapp Flask(__name__)app.route(/) def hello_world():return Hello, World!winR进入命令行,…...

阿里云域名实战
一、准备阿里云服务器,实现网站功能 (1)百度搜索阿里云 (2)登录阿里云 可以使用支付宝,淘宝账号登录 (3)点击控制台 (4)创建实例,购买云服务器 (5&#x…...
git关联远程仓库自己分支自用
初始化仓库 cassielDESKTOP-KPKFOEU MINGW64 /d/code/api_test_202310232022 (tong) $ git init Reinitialized existing Git repository in D:/code/api_test_202310232022/.git/关联远程仓库并创建本地分支 cassielDESKTOP-KPKFOEU MINGW64 /d/code/api_test_202310232022 …...

eBPF BCC开源工具简介
目录 官方链接 编译安装 ubuntu版本 安装 examples tools hello_world.py demo 运行报错 网上目前的解决办法 错误分析过程 python版本检测 libbcc库检查 python3 bcc库检查 正常输出 监控进程切换 运行输出 监控CPU直方图 缓存命中率监控:caches…...
Linux上后台运行进程(nohub、screen和tmux )
文章目录 Linux上后台运行进程(nohub、screen和tmux )nohupscreen虚拟终端安装screen使用 tmux终端复用器[个人推荐]安装tmux使用 Linux上后台运行进程(nohub、screen和tmux ) 命令行的典型使用方式是,打开一个终端窗…...

javaee实验:搭建maven+spring boot开发环境,开发“Hello,Spring Boot”应用
目录 mavenspringboot实验目的实验内容环境的搭建 在开发中,maven和spring都是非常常用、非常重要的管理工具和框架,今天就在这里使用idea进行环境的搭建和创建第一个spring程序 maven 1.1maven是一个跨平台的项目管理工具(主要管理jar包&am…...

重新思考边缘负载均衡
本文介绍了Netflix在基于轮询的负载均衡的基础上,集成了包括服务器使用率在内的多因素指标,并对冷启动服务器进行了特殊处理,从而优化了负载均衡逻辑,提升了整体业务性能。原文: Rethinking Netflix’s Edge Load Balancing[1] 我…...
构建一个CAN报文周期任务类
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、can周期任务类构建总结 前言 提示:这里可以添加本文要记录的大概内容: 最近想着有时间实现总线报文收发的动态的配置,…...

深入理解计算机系统CS213 - Lecture 02
Bits, Bytes, and Integer 1.位运算与条件运算 &,|,^,~ 是做位运算。诸位01运算。 &&,||,!是判断条件真假,而后返回0或1。 2. 位移 x << y:左移y位ÿ…...

【KVM】KVM介绍及功能概述
前言 大家好,我是秋意零。 今天介绍的内容是KVM的概述,以及它所支持的基本功能。 👿 简介 🏠 个人主页: 秋意零🔥 账号:全平台同名, 秋意零 账号创作者、 云社区 创建者…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...