当前位置:首页 > 技术分析 > 正文内容

【干货】数据可视化很难?一文弄懂PyEcharts可视化技术

ruisui884周前 (05-21)技术分析23

俗话说的好“文不如表,表不如图”,的信息传达效率很高,是数据汇报、数据展示的重要手段。好的数据展示不仅需要有图,还要选合适的图、选合适的工具画图(例如能交互的图就比静态图更吸引人)。

图形的选择可以参考CDA数据分析师认证一级教材中关于图表与分析场景的对应关系来选择合适的图

本文主要给大家分享一款绘图工具,可以绘制能交互的图形,这个工具就是PyEcharts

PyEcharts为啥画的一手好图

PyEcharts为啥画的一手好图?因为他有个“好爸爸”-Echarts。Echarts是百度开源的,目前托管在Apache软件基金会。它底层由JavaScripts实现,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器。ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。

Echarts虽有千般好,but JavaScripts这个前端语言对于大部分数据分析师而言是一个屏障,所以有几位大佬开发出PyEcharts,这其实是通过Python语言对Echarts做了封装,会Python的数据分析师便能快速上手使用Echarts了。

快速上手PyEcharts

PyEcharts版本迭代比较快,差异较大的是0.5.x 与新的 1.x 、2.x版本之间差异较大。并且官方也不再持续对0.5.x系列更新迭代了,所以本文采用的是1.x、2.x的写法演示如何应用PyEcharts进行绘图。

从简单的柱形图开始

导入要绘制的图形对象的构造函数,常见的图表几乎都在charts里面了。

from pyecharts.charts import Bar # 这里导入的是柱形图Bar,还可以是Line折线图、Pie饼图等

使用构造函数初始化图形对象

bar = Bar()

接下来添加x轴的数据

bar.add_xaxis(["2021","2022","2023","2024","2025"])

添加y轴数据,第一个参数是系列名称(例如一张图可以绘制多组柱状图,一个系列就是一个组)

bar.add_yaxis("A组销售额",y_axis=[1000,3000,2500,4000,3900])
bar.add_yaxis("B组销售额",y_axis=[2000,3500,3500,3000,3500])

最后通过render或者render_notebook函数将图形绘制出来。

bar.render_notebook() # 适合在jupyter notebook环境下直接在cell下面显示。


如果使用的是render可以将图形渲染到html(网页文件)中去,可以传入指定的文件名。

bar.render("历年销售数据.html")

上面的代码生成了历史销售数据.html这个网页文件了。

双击打开就可以在浏览器看到图形了。

锦上添花

简单的绘图上面的操作就够了,如果想让图形更炫酷,则需要更多的代码雕琢。如何在PyEcharts里面实现其他额外的功能呢,通过配置项即可。PyEcharts里有一句话叫“一切皆配置”,就是任何需求都由配置来实现。

所有的配置类型都在options模块下,约定俗成的导入方式如下:

import pyecharts.options as opts 

接下来初始化柱状图对象时为其做初始化配置(init_opts),在初始化配置中设置一套PyEcharts自带的主题。

from pyecharts.globals import ThemeType
bar2 = Bar(init_opts=opts.InitOpts(theme=ThemeType.SHINE))

后续代码一样,添加数据,渲染致jupyter notebook。

bar2.add_xaxis(["2021","2022","2023","2024","2025"])
bar2.add_yaxis("A组销售额",y_axis=[1000,3000,2500,4000,3900])
bar2.add_yaxis("B组销售额",y_axis=[2000,3500,3500,3000,3500])
bar2.render_notebook()


看起来与之前的图还是有很大区别的,例如配色。PyEcharts还有很多主题可以有不同的视觉效果。

bar3 = Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK))

以上就是PyEcharts的基本用法,如果你学会了绘制常见的一些图形完全没有问题。更多的细节用法可以关注PyEcharts官方文档或者我们的系列文章。

CDA数据分析力测评专业可靠,如果想了解自己的数据分析能力,扫码开测,做到心理有数。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/4190.html

分享给朋友:

“【干货】数据可视化很难?一文弄懂PyEcharts可视化技术” 的相关文章

「2022」打算跳槽涨薪,必问面试题及答案——VUE篇

1、为什么选择VUE,解决了什么问题?vue.js 正如官网所说的,是一套构建用户界面的渐进式框架。与其它重量级框架不同的是,vue 被设计为可以自底向上逐层应用。vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另外一方面,当与现代化工具链以及各种支持类库结合使用时,vu...

GitLab-创建分支

描述分支是独立的生产线,是开发过程的一部分。分支的创建涉及以下步骤。创建一个分支步骤1-登录您的GitLab帐户,然后转到“ 项目”部分下的项目。步骤2-要创建分支,请单击“ 存储库”部分下的“ 分支”选项,然后单击“ 新建分支”按钮。步骤3-在“ 新建分支”屏幕中,输入分支的名称,然后单击“ 创建...

Gitlab概览

Gitlab是开源的基于Git的仓库管理系统,也可以管理软件开发的整个生命周期,是项目管理和代码托管平台,支撑着整个DevOps的生命周期。Gitlab很容易选为GitHub,作为公司私有库管理的工具。我们可以用Gitlab Workflow来协同整个团队的软件开发管理过程。软件开发阶段Gitlab...

「云原生」Containerd ctr,crictl 和 nerdctl 命令介绍与实战操作

一、概述作为接替Docker运行时的Containerd在早在Kubernetes1.7时就能直接与Kubelet集成使用,只是大部分时候我们因熟悉Docker,在部署集群时采用了默认的dockershim。在V1.24起的版本的kubelet就彻底移除了dockershim,改为默认使用Conta...

30 个纯 HTML5 实现的游戏

浏览器和 JavaScript 的功能逐年不断的变强变大。曾几何时,任何类型的游戏都需要Flash。但随着 HTML5 发展,HTML5 + WebGL 游戏式就慢慢占领着这个舞台。以下是30款流行的游戏,它们可以在所有现代浏览器中运行,并且只使用web技术构建。1. HexGL地址:http://...

再来一波黑科技工具,低调使用

静读天下静读天下是一个特别优秀的电子书阅读器。它上面有多个在线书库,像古登堡计划,很多种优秀的书杂志,都可以下载来阅读。它还能智能识别章节功能,还支持外置的语音阅读功能。它支持多种文本格式,比如说txt,pdf,epub,mobi等等。为了便于阅读它还有10 种配色方式,还有夜间模式。不过免费版有广...