Python利用pyecharts实现数据可视化

2024-09-07 20:12

本文主要是介绍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数据格式互相转换,主意好列表和字典的格式后就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数据然后转换,绘制可视化图形就是美工了。

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

这篇关于Python利用pyecharts实现数据可视化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1146040

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi