Python利用pyecharts实现数据可视化
小编会持续更新知识笔记,如果感兴趣可以三连支持。闲来无事,水文一篇,不过上手实践一下倒还是挺好玩的,这一块知识说不定以后真可以尝试拿来做数据库的报表显示。
有梦别怕苦,想赢别喊累。
目录
前言
JSON数据格式的转换
pyecharts简介和入门使用
前言
小编我今天闲来无事,打算学习一下py,结果你猜怎么着,竟然看到py可以将数据可视化,做成报表显示,这对于一直学Java的我来说,这东西可太东西了,这要是不学一下你受得了吗?高低得学他一下啊。
这个py数据可视化也是用了第三方技术叫做Echarts,是由百度开发得一个数据可视化的框架,本来嘛使用于JS的,但是py那么火,自然他也就提供了py可用的第三方包了,但是有没有提供Java的jar包呢,这个有时间倒是可以去考察一下。
JSON数据格式的转换
这个东西既然扯到数据了,JSON是逃不掉的,虽然我知道这玩意大家很熟了,但是我还是得水一下文章的。JSON是一种轻量级得数据交互格式。可以按照JSON指定得格式去组织和封装数据。本质上就是一个带有特定格式的字符串。JSON主要就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互。类似于国际通用语言英语,中国通用语言普通话。
具体格式就像上面这样,其实就和py中定义字典或者列表内部嵌套字典差不多,键:值,不同键用逗号隔开。所以在py中去实现Python数据和Json数据的相互转换倒是很方便,我们只要导入对应的json模块,然后使用里面提供好的方法就好了。

下面我们就来演示一下json模块的使用吧,因为存在中文的编码问题,所以我们还需要传入一个关键参数ensure_ascii=False。
import jsondata = [{"name": "张大山", "age": 11}, {"name": "王大锤", "age": 13}, {"name": "赵小虎", "age": 16}]# python 转 json
json_str = json.dumps(data, ensure_ascii=False)
print(type(json_str))
print(json_str)# json 转 python
s = '[{"name":"张大山","age":11},{"name":"王大锤","age":13},{"name":"赵小虎","age":16}]'
l = json.loads(s)
print(type(l))
print(l)
以上就是py实现JSON数据格式互相转换,主意好列表和字典的格式后就dumps和loads两个方法。
pyecharts简介和入门使用
通过前面我们也知道了pyecharts就是一款第三方可视化数据框架,下面这个就是pyecharts的官网
渲染图表 - pyecharts - A Python Echarts Plotting Library built with love.
https://05x-docs.pyecharts.org/#/zh-cn/prepare 官网其实还是挺好玩的,有好多报表图模型,想用哪个就可以参考它的代码,然后照葫芦画瓢就可以实现出来。下面这个是pyecharts的一个画廊网址也是挺不错的。
中文简介 - Document (pyecharts.org)
https://gallery.pyecharts.org/#/README 至于怎么安装pycharts,其实分为两种方式,第一种就是我们可以通过命令行来安装。如果你写代码用的是第二种就是通过pyCharm来安装。
第一种我们win加r输入cmd打开命令行窗口,接着输入下面这行命令直接回车等待下载完成就好了。
pip install pyecharts
接着检验是否安装好了,我们可以通过输入python,然后尝试import pyecharts导入一下,如果没有问题,就证明导入成功了。
第二种方法就是我们可以通过右下角的设置里的解释器设置中的添加解释器搜索pyecharts进行安装就好了。


接着我们来看看pyecharts如何使用,其实这一块呢也是非常简单,我们只需要照着官网的模板照葫芦画瓢就好了 ,我们就来做一个折线图图像吧。这一块我们首先就是要导入Line这个类,顾名思义就是来画线的。这里我们用到了两个方法,一个是add_xaxis()用来标明x轴的数据项有哪些,add_yaxis()用来标明y轴数据项表示的内容和数据值。这一块第一个数据项不能省略,因为你总不能y轴都不表示什么含义吧,接着我们就可以调用render方法就可以将代码生成图像。
# 导包
from pyecharts.charts import Line# 创建一个折线图对象
line = Line()
# 给折线图对象添加x轴的数据
line.add_xaxis(["中国","美国","英国"])
# 给折线图对象添加y轴的数据
line.add_yaxis("GDP",[30,20,10])
# 通过render方法,将代码生成为图像
line.render()
接着我们右键运行,就可以看到我们当前目录下多了一个叫render.html的文件,相信你也知道这是一个前端界面文件,感兴趣的可以打开看看,我们直接用浏览器打开就会得到我们上面绘制的折线图了。


其实上面这个图片看着还是有点单调的,我们还可以给他添点和数据无关的东西,比如标题,工具箱, 鼠标移动效果等。这些叫做全局配置选项,而上面我们配置的叫做系列配置选项。配置全局配置选项其实也很简单,照着官网找到我们想要的直接CV就好了。
# 设置全局配置项
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()
这里我是配置好了标题,图例,工具箱和鼠标移动效果,当然你还可以配置些别的,这里只是演示用法。记住我们要把render()方法放在最后,不然就设置不成功了。

这里我把鼠标放在上面确实有了显示,下方也多了一个标题,右上角也多了一个工具箱,工具箱支持很多功能例如保存图片,切换柱状图,展示数据等等,功能还是非常丰富的。
到这里我们pyecharts的入门使用就到此为止了,是不是特别简单,我们只需要把官网的模板拿过来照葫芦画瓢就好了。
这东西上手还是挺简单的,只要可以拿到JSON数据,然后照葫芦画瓢就好了,业务在于如何拿到JSON数据然后转换,绘制可视化图形就是美工了。
带着决心起床,带着满意入睡。
相关文章:
Python利用pyecharts实现数据可视化
小编会持续更新知识笔记,如果感兴趣可以三连支持。闲来无事,水文一篇,不过上手实践一下倒还是挺好玩的,这一块知识说不定以后真可以尝试拿来做数据库的报表显示。 有梦别怕苦,想赢别喊累。 目录 前言 JSON数据格式的…...
网恋照妖镜源码搭建教程
文章目录 前言创建网站1.打开网站设置 配置ssl2.要打开强制HTTPS,用宝塔免费的ssl证书即可,也可以使用其他证书,必须是与域名匹配的3.上传文件至根目录进行解压4.解压后,修改文件 sc.php 里面的内容5.其余探索 前言 前俩年很火的…...
STM32
(以下操作环境为Keil5和proteus8.9) 八种输入输出模式及他们的工作模式 分析如下 总线:总线提供了数据在不同组件(如处理器、内存、输入输出设备等)之间传输的路径,使数据能够快速、准确地在系统内流动。 …...
用手机做抢答器 低预算知识竞赛活动的选择
使用手机作为抢答器是低预算竞赛活动的一个理想选择。随着智能手机的普及,传统抢答器已经被手机抢答器所替代,这种转变不仅降低了成本,而且提供了更大的灵活性和便利性。通过手机扫码登录竞赛软件,参赛者可以直接在手机上进行抢答…...
ELK学习笔记(二)——使用K8S部署Kibana8.15.0
上篇文章我们完成了,ES的集群部署,如果还没有看过上篇文章的兄弟,可以去看看。 ELK学习笔记(一)——使用K8S部署ElasticSearch8.15.0集群 话不多说,接下来直接进入kibana的搭建 一、下载镜像 #1、下载官方…...
报错:CPU指令集的问题
bug描述 我在运行CMAQ中的icon时,遇到bug: Please verify that both the operating system and the processor support Intel(R) X87, CMOV, MMX, FXSAVE, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, POPCNT and AVX instructions.解决办法 经过查询&a…...
Type-C接口诱骗取电快充方案
Type-C XSP08Q 快充协议芯片是一种新型电源管理芯片,主要负责控制充电电流和电压等相关参数,从而实现快速充电功能。Type-C XSP08Q快充协议是在Type-C接口基础上,加入了XSP08Q协议芯片的支持,很大程度上提升了充电速度。 正常情况…...
图像白平衡
目录 效果 背景 什么是白平衡? 实现原理 将指定图色调调整为参考图色调主要流程 示例代码 效果 将图一效果转换为图二效果色调: 调整后,可实现色调对换 背景 现有两张图像,色调不一致,对于模型重建会有影响。因…...
SAP Business One 与无锡哲讯:携手共创企业数字化未来
在当今快速发展的商业世界中,企业的数字化转型已成为提升竞争力的关键。在众多的数字化解决方案中,SAP Business One 以其强大的功能和灵活性脱颖而出。与此同时,无锡哲讯智能科技有限公司作为专业的 SAP 系统服务提供商,为企业带…...
Unity Adressables 使用说明(五)在运行时使用 Addressables(Use Addressables at Runtime)
一旦你将 Addressable assets 组织到 groups 并构建到 AssetBundles 中,就需要在运行时加载、实例化和释放它们。 Addressables 使用引用计数系统来确保 assets 只在需要时保留在内存中。 Addressables 初始化 Addressables 系统在运行时第一次加载 Addressable …...
什么是死锁,如何解决?
什么是死锁? 在并发编程中,死锁是指两个或多个进程在竞争资源时,互相等待无法继续执行的状态。这种情况发生时,每个进程都在等待其他进程释放它们所需要的资源,但同时又不释放自己占有的资源,导致所有进程…...
借助ChatGPT三步,完成课题申报书中研究价值部分写作全攻略指南
大家好,感谢关注。我是七哥,一个在高校里不务正业,折腾学术科研AI实操的学术人。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥(yida985)交流,多多交流,相互成就,共同进步,为大家带来最酷最有效的智能AI学术科研写作攻略。 撰写申请书中的“本课题的学术价值…...
IDEA取消自动选择光标所在行
今天出现了一个怪事: 当我使用IDEA编写代码的时候,单击下一行或者上一行的时候,莫名其妙它会自己选中一行,导致我要么是回车代码直接没了,要么是代码直接给我搞错位了,还得按ctrlz返回,十分的恶…...
VUE2.0 elementUI el-input-number 数据更新,视图不更新——基础积累
今天遇到一个问题,是关于el-input-number组件的,发现数据明明已经更改了,但是页面上组件输入框中还是之前的值。 比如上方输入框中,我输入120.5,就会出现下面的诡异现象 回显此值是120.779,但是页面上输入…...
JS中this指向问题
首先,this的绑定和定义的位置无关,它的指向只和调用方式有关,this只有在运行时才知道指向谁。 一,默认绑定 默认绑定,也可以说是独立函数调用,这时this指向window。 function foo() {console.log(this) …...
大厂面试:小米嵌入式面试题大全及参考答案(130+道 12万长文)
Flink 架构介绍 Flink 是一个分布式流处理和批处理框架,具有高吞吐、低延迟、高可靠等特点。其架构主要由以下几个部分组成: 客户端(Client):负责将作业提交到集群,并与作业管理器进行交互,获取作业的状态信息。客户端可以是命令行工具、IDE 插件或者自定义的应用程序。…...
React 更新界面
文章目录 发现宝藏引入 useState声明和使用状态多个组件的状态管理解析代码 状态的局部性和性能优化结论 发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。 在 React 中ÿ…...
JavaSE-易错题集-001
1. AccessViolationException异常触发后,下列程序的输出结果为( ) 1 2 3 4 5 6 7 8 9 10 11 12 13 static void Main(string[] args) { try { throw new AccessViolationException(); Console.Write…...
【人工智能学习笔记】1_人工智能基础
本系列是个人学习《阿里云人工智能工程师ACA认证免费课程(2023版)》的笔记,仅为个人学习记录,欢迎交流,感谢批评指正 人工智能概述 智能的三大能力:感知、记忆与思维、学习与适应能力人工智能的定义 明斯基…...
【前端】animation动画以及利用vue制作简单的透明度改变动画,包含vue生命周期实现
一. 问题描述 想做一个文字透明度从1到0然后再从0到1的css动画。 二. 代码写法 2.1 animation写法 2.1.1 animation属性key 2.1.2 代码展示 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
