Python利用pyecharts实现数据可视化

news2024/11/13 9:54:48

        小编会持续更新知识笔记,如果感兴趣可以三连支持。闲来无事,水文一篇,不过上手实践一下倒还是挺好玩的,这一块知识说不定以后真可以尝试拿来做数据库的报表显示。

        有梦别怕苦,想赢别喊累。

目录

前言

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 json

data = [{"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数据格式互相转换,主意好列表和字典的格式后就dumpsloads两个方法。

pyecharts简介和入门使用

        通过前面我们也知道了pyecharts就是一款第三方可视化数据框架,下面这个就是pyecharts的官网

渲染图表 - pyecharts - A Python Echarts Plotting Library built with love.icon-default.png?t=O83Ahttps://05x-docs.pyecharts.org/#/zh-cn/prepare        官网其实还是挺好玩的,有好多报表图模型,想用哪个就可以参考它的代码,然后照葫芦画瓢就可以实现出来。下面这个是pyecharts的一个画廊网址也是挺不错的。

中文简介 - Document (pyecharts.org)icon-default.png?t=O83Ahttps://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数据然后转换,绘制可视化图形就是美工了。

        带着决心起床,带着满意入睡。

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

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

相关文章

Leetcode3259. 超级饮料的最大强化能量

Every day a Leetcode 题目来源:3259. 超级饮料的最大强化能量 解法1:记忆化搜索 本题的状态定义 dfs(i,j)。其中 j0,1,分别表示最后选的是 energyDrinkA[i] 还是 energyDrinkB[i]。 为方便实现,把 energyDrinkA 和 energyDri…

你读文献的方式可能错了!掌握这些技巧,让阅读事半功倍!

我是娜姐 迪娜学姐 ,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。 科研新手如何精读一篇论文? 很多科研新手,一上来就疯狂下载几十上百篇文献。囫囵吞枣看完了,还是什么都不知道,大脑一片空白。…

Windows 一键定时自动化任务神器 zTasker,支持语音报时+多项定时计划执行

简介 zTasker(详情请戳 官网)是一款完全免费支持定时、热键或条件触发的方式执行多种自动化任务的小工具,支持win7-11。其支持超过100种任务类型,50种定时/条件执行方法,而且任务列表可以随意编辑、排列、移动、更改类…

[每周一更]-(第113期):JWT说明以及与Session,Cookie区别

JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间以JSON方式安全地传输信息。由于此信息是经过数字签名的,因此可以被验证和信任。可以使用秘密&am…

舒适度和音质再升级,南卡OE Pro2以标杆级实力,体验革命性提升!

​在音频技术不断革新的今天,南卡科技以其深厚的技术底蕴和不懈的创新追求,再次站在了行业革新的前沿。今日,南卡科技隆重推出了其最新力作——南卡OE Pro2开放式蓝牙耳机,这款耳机以其独特的设计理念和卓越的音质表现&#xff0c…

《深度学习》OpenCV轮廓检测 轮廓近似 解析及实现

目录 一、轮廓近似 1、什么是轮廓近似 2、参数解析 1)用法 2)参数 3)返回值 4)代码解析及实现 运行结果为: 二、总结 1、概念 2、轮廓近似的步骤: 一、轮廓近似 1、什么是轮廓近似 指对轮廓进行…

Apache Pig

目录 一、配置说明1.本地模式2.集群模式 二、pig的数据模型三、pig的数据类型四、惰性执行五、pig的基本语法5.1语法说明5.2案例操作 六、pig的自定义函数 一、配置说明 1.本地模式 操作的是Linux系统文件 pig -x local关键日志 当前处于root目录下 2.集群模式 连接的是…

数据结构之堆的创建

1、堆的概念及结构 1.1堆的概念 如果有一个关键码的集合K{k0,k1,k2,…,kn-1}&#xff0c;把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中&#xff0c;并满足ki<k2i1且ki<k2i2&#xff08;或满足ki>k2i1且ki>k2i2&#xff09;&#xff0c;其中i0…

Windows环境下SD卡多分区 隐藏分区 解决python裸读写扇区失败

SD卡分区 右键“我的电脑”->“管理”->“磁盘管理”&#xff1b; 如果SD卡有文件系统&#xff0c;点击"删除卷"&#xff0c;重新做卡&#xff1b; 删除文件系统后如下图&#xff0c;点击“新建简单卷”&#xff1b; 在导航页“指定卷大小”&#xff0c;设置…

61.以太网数据回环实验(4)以太网数据收发器发送模块

&#xff08;1&#xff09;状态转移图&#xff1a; &#xff08;2&#xff09;IP数据包格式&#xff1a; &#xff08;3&#xff09;UDP数据包格式&#xff1a; &#xff08;4&#xff09;以太网发送模块代码&#xff1a; module udp_tx (input wire gmii_txc …

网络层_计算机网络

文章目录 网络层数据平面路由器工作原理网际协议&#xff08;*IP*&#xff09;IPv4IPv6DHCP NAT 控制平面路由选择算法因特网中自治系统内部的路由选择&#xff1a;OSPFISP 之间的路由选择&#xff1a;BGP ICMPSNMP 网络层 尽力而为服务&#xff08;best-effort services&…

尚品汇-支付宝介绍、跳转支付订单页面实现(四十六)

目录&#xff1a; &#xff08;1&#xff09;支付宝介绍 &#xff08;1&#xff09;支付宝介绍 &#xff08;3&#xff09;显示付款页面信息 &#xff08;5&#xff09;创建支付控制器PaymentController &#xff08;1&#xff09;支付宝介绍 支付宝简介 支付宝&#xf…

没资料的屏幕怎么点亮?思路分享

这次尝试调通一个没资料的屏幕&#xff0c;型号是HYT13264&#xff0c;这个是淘宝上面的老王2.9元屏&#xff0c;成色很好但是长期库存没有资料和代码能点亮&#xff0c;仅仅只有一个引脚定义。这里我使用Arduino Nano作为控制器尝试点亮这个模块。 首先&#xff0c;已知别人找…

当水泵遇上物联网:智能水务新时代的浪漫交响

在当代科技的宏伟乐章中&#xff0c;物联网&#xff08;IoT&#xff09;技术宛如一位技艺高超的指挥家&#xff0c;引领着各行各业迈向智能化的新纪元。当这股创新浪潮涌向古老的水务行业时&#xff0c;一场前所未有的“智能水务”革命便悄然上演&#xff0c;而水泵——这一传统…

vue3 自定义指令 directive

1、官方说明&#xff1a;https://cn.vuejs.org/guide/reusability/custom-directives 除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外&#xff0c;Vue 还允许你注册自定义的指令 (Custom Directives)。 我们已经介绍了两种在 Vue 中重用代码的方式&#xff1a;组件和…

828华为云征文 | 华为云Flexusx实例,高效部署Servas书签管理工具的优选平台

需要了解 本文章主要讲述在 华为云Flexus X 实例上使用docker快速部署Servas&#xff0c;一款功能强大的自托管书签管理工具&#xff0c;专为追求高效与个性化的用户设计。选择合适的云服务器&#xff1a; 本文采用的是 华为云服务器 Flexus X 实例&#xff08;推荐使用&#x…

Vue 中 watch 和 watchEffect 的区别

watch 和 watcheffect 都是 vue 中用于监视响应式数据的 api&#xff0c;它们的区别在于&#xff1a;watch 用于监视特定响应式属性并执行回调函数。watcheffect 用于更通用的响应式数据监视&#xff0c;但回调函数中不能更新响应式数据。Vue 中 watch 和 watchEffect 的区别 …

C++ 日历计算器的实现

日历计算器 创建一个日期类对运算符进行重载代码 创建一个日期类 年月日为类的成员变量&#xff0c;所以放到私有区域&#xff0c;又因为成员变量为内置类型&#xff0c;编译器自动生成的默认构造函数对其不做处理&#xff0c;所以需要我们显示定义一个构造函数&#xff0c;而…

亿发:中小型制造企业数字化转型典型场景、痛点、解决方案

随着全球制造业的不断发展&#xff0c;中小型制造企业正面临前所未有的挑战和机遇。数字化转型成为了企业提升竞争力、优化生产效率、应对市场变化的关键路径。然而&#xff0c;对于资源相对有限的中小型制造企业而言&#xff0c;数字化转型并非易事。他们在推进转型的过程中往…

视频的编码与传输 学习笔记2 信息论

说白了&#xff0c;关键点就三个&#xff1a;信源&#xff0c;压缩与信道 DMS就是无记忆的信源&#xff0c;该输出什么就输出什么。 马尔卡夫信源&#xff0c;准确来讲是m马尔卡夫&#xff0c;会受到前m个状态的影响。&#xff08;妈的&#xff0c;马尔卡弗还在追我&#xff0c…