Python-折线图可视化

折线图可视化

  • 1.JSON数据格式
  • 2.pyecharts模块介绍
  • 3.pyecharts快速入门
  • 4.创建折线图

1.JSON数据格式

1.1什么是JSON

  • JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据
  • JSON本质上是一个带有特定格式的字符串
    1.2主要功能
  • json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互
    1.3JSON有什么用
  • 各种编程语言存储数据的容器不尽相同,在Python中有字典dict这样的数据类型, 而其它语言可能没有对应的字典
  • 为了让不同的语言都能够相互通用的互相传递数据,JSON就是一种非常良好的中转数据格式。如下图,以Python和C语言互传数据为例:
    在这里插入图片描述
    json格式数据转化
  • json格式的数据要求很严
# json数据的格式可以是: 
{"name":"admin","age":18} # 也可以是:  
[{"name":"admin","age":18},{"name":"root","age":16},{"name":"张三","age":20}]

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

# 导入json模块 
import json # 准备符合格式json格式要求的python数据 
data = [{"name": "老王", "age": 16}, {"name": "张三", "age": 20}]# 通过 json.dumps(data) 方法把python数据转化为了 json数据 
data = json.dumps(data) # 通过 json.loads(data) 方法把json数据转化为了 python数据 
data = json.loads(data)

2.pyecharts模块介绍

pyecharts模块

  • 如果想要做出数据可视化效果图, 可以借助pyecharts模块来完成

  • 概况 : Echarts 是个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可. 而 Python 是门富有表达力的语言,很适合用于数据处理. 当数据分析遇上数据可视化时pyecharts 诞生了.

pyecharts模块安装

  • 使用在前面学过的pip命令即可快速安装PyEcharts模块

  • pip install pyecharts
    在这里插入图片描述

3.pyecharts快速入门

3.1pyecharts入门

  • 基础折线图
# 导包
from pyecharts.charts import Line
from pyecharts.options import TitleOpts
from pyecharts.options import LegendOpts
from pyecharts.options import ToolboxOpts
from pyecharts.options import VisualMapOpts
# 创建一个折线图对象
line = Line()
# 给折线对象添加x轴的数据
line.add_xaxis(["中国","美国","英国"])
# 给折线对象添加y轴的数据
line.add_yaxis("GDP",[30,20,10])
# 设置全局变量项set_global_opts来设置
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)
)
# 通过render方法,将代码生成图像
line.render()

在这里插入图片描述

pyecharts有哪些配置选项
set_global_opts方法(全局配置)

  • 配置图标和标题
  • 配置图例
  • 配置鼠标移动效果
  • 配置工具栏
  • 等整体配置项
    在这里插入图片描述

4.创建折线图

4.1导入模块

import  json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LabelOpts

折线图相关配置
在这里插入图片描述

  • add_yaxis相关配置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • set_global_opts全局配置选项
    在这里插入图片描述
import  json
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LabelOpts,InitOpts,AxisOpts,LegendOpts
# 处理数据
f_us=open("D:/美国.txt","r",encoding="UTF-8")
f_jp=open("D:/日本.txt","r",encoding="UTF-8")
f_in=open("D:/印度.txt","r",encoding="UTF-8")
us_data = f_us.read() # 美国的全部内容
jp_data = f_jp.read() # 日本的全部内容
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规范的结尾
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']
# 获取日期数据,用于x轴,取2020年(到314下标结束)
us_x_data = us_trend_data['updateDate'][:314]
jp_x_data = jp_trend_data['updateDate'][:314]
in_x_data = in_trend_data['updateDate'][:314]# 获取确认数据,用于Y轴,取2020年(到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(init_opts=InitOpts(width="1600px",height="800px"))
# 添加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%"),# x轴配置项xaxis_opts=AxisOpts(name="时间"),    # 轴标题# y轴配置项yaxis_opts=AxisOpts(name="累计确诊人数"),    # 轴标题# 图例配置项legend_opts=LegendOpts(pos_left='70%'),    # 图例的位置
)
# 调用render方法,生成图标
line.render()
# 关闭文件
f_us.close()
f_jp.close()
f_in.close()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/228971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaSE第7篇:封装

文章目录 一、封装1、好处:2、使用 二、四种权限修饰符三、构造器1、作用2、说明3、属性赋值的过程 一、封装 封装就是将类的属性私有化,提供公有的方法访问私有属性 不对外暴露打的私有的方法 单例模式 1、好处: 1.只能通过规定的方法来访问数据 2.隐藏类的实例细节,方便…

CSS篇之圆角梯形

附上一篇文章&#xff1a;梯形tab按钮-基于clip-path path函数实现 - JSRUN.NET 他这个区别在于&#xff0c;收尾两侧都是直角的&#xff0c;如图 下面这个是圆角&#xff1a; 思路&#xff1a; 代码如下&#xff1a; <template><div class"wrap"><…

时序数据库选型TimescaleDB

最近要做一个数字车间的物联网项目&#xff0c;数据存储成了首先要解决的问题&#xff0c;整个车间一共104台数控机床&#xff0c;1s钟采集1次数据&#xff0c;360024365*1043,279,744,000 &#xff0c;一年要产生32亿条记录&#xff0c;这个数据量用常见的关系型数据库肯定是不…

【C语言加油站】qsort函数的模拟实现

qsort函数的模拟实现 导言一、回调函数二、冒泡排序2.1 冒泡排序实现升序 三、qsort函数3.1 qsort函数的使用3.2 比较函数 四、通过冒泡排序模拟实现qsort函数4.1 任务需求4.2 函数参数4.3 函数定义与声明4.4 函数实现4.4.1 函数主体4.4.2 比较函数4.4.3 元素交换 4.5 my_qsort…

Mrdoc知识文档

MrDoc知识文档平台是一款基于Python开发的在线文档系统&#xff0c;适合作为个人和中小型团队的私有云文档、云笔记和知识管理工具&#xff0c;致力于成为优秀的私有化在线文档部署方案。我现在主要把markdown笔记放在上面&#xff0c;因为平时老是需要查询一些知识点&#xff…

mysql使用st_distance_sphere函数报错Incorrect arguments to st_distance_sphere

前言 最近使用空间点位查询数据时函数报错Incorrect arguments to st_distance_sphere报错。 发现问题 因为之前是没有问题的&#xff0c;所以把问题指向了数据&#xff0c;因为是外部数据&#xff0c;不是通过系统打点获取&#xff0c;发现是因为经纬度反了&#xff0c;loc…

软件测试指南

软件测试指南 软件集成测试软件系统测试&#xff08;功能性测试&#xff0c;性能测试&#xff09;

事件监听的艺术:掌握`addEventListener`的魅力

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

实现前端指纹登录的简单示例

随笔 一切的失败都来源于实力不足 引入 如今的指纹识别已经充分运用到平板、笔记本电脑、手机甚至在用户支付中也是大有造诣&#xff0c;所以指纹作为我们用户独属于自己的身份识别信号也是相当重要的&#xff0c;正是这种独特的身份信号保存着我们的隐私信息 在现代网页应…

【Vulnhub 靶场】【IA: Keyring (1.0.1)】【中等】【20210730】

1、环境介绍 靶场介绍&#xff1a;https://www.vulnhub.com/entry/ia-keyring-101,718/ 靶场下载&#xff1a;https://download.vulnhub.com/ia/keyring-v1.01.ova 靶场难度&#xff1a;中等 发布日期&#xff1a;2021年07月30日 文件大小&#xff1a;1.1 GB 靶场作者&#xf…

基于Mamdani模糊神经网络的调速控制系统simulink建模与仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 模糊神经网络控制器概述 4.2 模糊神经网络控制器基本原理 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ............................…

Linux与常用的Linux命令

Linux概念 Linux 是一种免费使用和自由传播的类 UNIX 操作系统。它的内核最初是由芬兰计算机科学家林纳斯本纳第克特托瓦兹&#xff08;Linus Benedict Torvalds&#xff09;在 1991 年发布&#xff0c;并持续发展至今。Linux 的设计灵感来源于 MINIX 和 Unix 系统&#xff0c…

UE5 项目设置

1、定义设置哪些参数 UCLASS(configEngine, globaluserconfig) class ADVMOD_API UGlobalSettings : public UObject {GENERATED_BODY()public:UGlobalSettings();const FString& GetPythonExePath() const { return PythonExePath.FilePath; }private:UPROPERTY(config, E…

【SpringBoot零基础入门到项目实战①】解锁现代Java开发之门:深度探究Spring Boot的背景、目标及选择理由

文章目录 引言Spring Boot的背景和目标背景目标 为什么选择Spring Boot1. 简化配置2. 内嵌式容器3. 生态系统支持4. 大量的Starter5. 广泛的社区支持6. 适用于微服务架构7. 丰富的扩展机制 实例演示创建一个简单的Spring Boot应用 拓展与深入学习1. Spring Boot Actuator2. Spr…

程序设计原则

▶1.程序设计的基本原则 程序设计中哪些因素很重要&#xff0c;不同专家有不同看法&#xff0c;专家们都有直己独到的见解。有人认为程序的清晰性很重要&#xff1b;有人认为程序的执行效率要优先考虑&#xff1b;有人认为程序的正确性是头等大事&#xff1a;有些人认为这些都…

EtherCAT主站SOEM -- 10 -- SOEM之基于QT搭建自己的EtherCAT主站

EtherCAT主站SOEM -- 2 -- SOEM之ethercatbase.h/c文件解析 0 QT-SOEM视频预览:一 SOEM主站解析:1.1 调用ec_init(eth0) 函数:1.1.1 执行到 nicdrv.c 文件 (网络接口卡(NIC)驱动程序)1.1.1.1 ecx_setupnic函数1.1.1.2 ecx_setupnic函数解析1.1.1.3 ec_setupheader(void …

word如何快速制作简易代码块

先上解决方案。 方式一&#xff08;全自动&#xff09;&#xff1a; typora编辑&#xff0c;导出选择word文档即可。内网环境&#xff0c;故放弃。 方式二&#xff08;全手动&#xff09;&#xff1a; 在修改文档时&#xff0c;左侧会有“段落布局”按钮&#xff0c;点击该按…

力扣刷题-二叉树-路径总和

112 路径总和 给定一个二叉树和一个目标和&#xff0c;判断该树中是否存在根节点到叶子节点的路径&#xff0c;这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树&#xff0c;以及目标和 sum 22&#xff0c; 返回 true, 因为…

记录 | Visual Studio报错:const char*类型的值不能用于初始化char*类型

Visual Studio 报错&#xff1a; const char *”类型的值不能用于初始化“char *”类型的实体错误 解决办法&#xff1a; 1&#xff0c;强制类型转换&#xff0c;例如&#xff1a; char * Singer::pv[] {(char*)"other", (char*)"alto", (char*)"c…

arp协议

arp协议 ARP协议简介 在探讨计算机网络的复杂世界时&#xff0c;我们不可避免地会遇到地址解析协议&#xff08;ARP&#xff09;。ARP协议扮演着一个关键角色&#xff0c;它允许网络设备在发送数据时确定目标设备的物理地址&#xff0c;即媒体访问控制&#xff08;MAC&#x…