首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python绘图系列——怎么使用pdvega绘制常用商务图

写在前面

千呼万唤始出来,文章继续更新时!上一期小编说过,这一期文章中将讲一讲python中绘图那些事。相信一听到Python绘图,各位大大脑海中最先涌现出的绘图库应该就是Matplotlib库了(什麼,你说你从没有涌现出这个想法,小编只能说要不你就是小白,要不你就真的是Python小白)。但是,本期文章中,小编并不准备直接开始讲述这一Python绘图神器,原因小编有在上一期文章中提到过,这里就不再多说。那么大家肯定很疑惑,既然你小编你不准备讲述Matplotlib库,那你是准备这一期忽悠我们嘛(13万万中国人不会答应)。各位先别急着丢板砖呀,小编虽然不准备讲述这一绘图库,但已经准备了另外一个更加高效的绘图库予以大家,这个库就是基于altair库语法开发出来的一个快捷简便绘图库pdvega。至于小编为什麼要从这一个库开始讲起,这里是处于两个原因:其一,让大家了解到Python中绘图也可以如此简单美观,从而提升各位继续Python之路的兴趣;其二,正如公众号所明确的那样,本公众号旨在介绍一些简化办公的方法,那么在绘图方面自然需要不断介绍更加快捷便利的绘图库。好了,闲话不再多说,下面正式进入pdvega的世界。

目录

第一讲:准备工作1.1 pdvega简介1.2 pdvega安装第二讲:pdvega基本商务图形制作2.1 pdvega与折线图2.2 pdvega与散点图2.3 pdvega与条形图2.4 pdvega与面积图2.5 pdvega与直方图2.6 pdvega与饼图后记

第一讲:准备工作

1.1 pdvega简介

初次听到这个名字,相信各位除了疑惑就是疑惑(毕竟你看Matplotlib单从英文名字上就很明显可以是用来绘图的),这到底是什麼意思呢?对Python比较熟悉以及看过三傻并对其中的一段构词情节有印象的朋友可能会看出这个名字的由来。没错,pdvega正是一个合成词:pd+vega。pd是pandas.Dataframes的缩写,而vega源自于一个高效美观的交互式绘图系统Vega-Lite,所以pdvega的释义就是高效便捷地操作Python数据框进而得出美观图形。这个绘图库是由jake所创建的,当然这个大神作者还有另外一个高效的交互式绘图库altair,笔者会在以后的文章中做进一步介绍。这里你只需要知道,这个库真的很好用,并且下定决心去学习这个库。另外这里小编默认各位对于代码的操作是在jupyter notebook中进行的,如果你尚未安装jupyter notebook的话,那么久先动手安装一下吧,这里小编就不告诉你们怎么安装了。如果你有看过小编前面的文章以及已经听从了小编的建议,那么你现在所安装的Python系统应该是Anaconda,那么小编就要再一次恭喜你了,因为jupyter在Anaconda下式默认安装的,所以你只需要打开windows命令行,然后在命令行中输入jupyter notebook就可以正常打开jupyter notebook了。

1.2 pdvega安装

既然已经了解了pdvega,那么就不要犹豫了,赶快在python中安装这个库,然后潇洒地绘制几个常用的商务图吧。为了讲解的需要,小编准备直接使用vega体系中自带的数据库,因此小编在这里也会推荐安装一下vega体系下的数据集成库vega_datasets。现在请把你的操作位置移植命令行,当然如果你已经在jupyter中也无所谓,jupyter中也可以进行安装的。

如果没有出错,那么你已经顺利地安装了所需要的库,下面随便绘制一个图形测试一下是否已经正常安装并且是否能够正常使用。

如果你的安装没有出错的话,你肯定可以得到以下的散点图:

pdvega散点图

接下来你可以继续测试一下你的vega_datasets库是否安装成功,vega_datasets库里面具有多个数据集,小编这里就用其中的stocks数据集做一个测试吧(谁让小编是一多家上市公司的董事呢)。

如果你安装成功并且你没有输入错误的话,你会得到:

pdvega_line测试图

是不是都开始怀疑人生了,这么简单就可以做出在Excel中至少需要花费十分钟才能做出的图形,请不要怀疑,pdvega就是这么任性,这么简便,下面笔者就带领各位一起去探索一下怎么使用pdvega做出常用的商务图表。

第二讲:pdvega基本商务图形制作

在日常办公中,我们常常会遇到各种图表制作问题,因此掌握最常用图表的制作方式可以说你迈向人生巅峰的前提。那么在日常工作中最常用的一些图表是什麼呢,根据小编自己的经验以及交流所得,最常用的图形无非表现为六种:折线图、散点图、条形图、直方图、面积图以及饼图。下面小编就主要讲述一下这几类图形的绘制。

2.1 pdvega与折线图

折线图就是将数据点以直线连接起来,常用来展示时间序列数据的趋势,被广泛地运用于各类时间序列数据、趋势数据以及各类办公图表中。使用pdvega绘制折线图可以说相对简便,仅仅需要一条语句就可以完成,前提条件是你已经将你的数据整理成了数据表的形式(当然pdvega也可以很方便地处理费数据表形式的数据,但是作为一个与数据和图表打交道的人,个人建议还是要养成一种保持干净整洁数据的习惯)。为了后面作图的需要,本期文章中会先后引用三个数据表,这三个数据表均来自于此前已经安装好了的vega_datasets数据集,下面先将后面将用的三个数据表引用进来。

而后就可以看到各个数据表的前几行数据状况:

iris

stocks

cars

既然已经对数据有了初步了解,下面就使用其中的stocks数据表来进行折线图的绘制,在pdvega中绘制折线图使用vgplot.line()函数。

这个图在上文中已经进行了展示,这里就不再进一步展示。这个函数默认是对数据表中的所有列分别绘制折线图的,如果你只想绘制其中两列数据的折线,那么你只需要很简单修改一下你的绘制数据表即可。如下

部分数据集折线图绘制

使用pdvega绘制折线图,你仅仅需要动动脑子的环节仅仅是你的数据选择,即你准备绘制那些数据的折线图,一旦确定图也就出来了。

2.2 pdvega与散点图

当你想探索两个变量之间的相关关系时,那么散点图就是你最好的选择。在pdvega中绘制散点图仅仅需要使用vgplot.scatter()函数就可以了,这里使用iris数据表进行绘图操作。

这里的petalLength和petalWidth分别表示花萼的长度和宽度,两者之间当然存在着正相关关系,正如下图所示:

花萼长宽关系散点图

当然你也可以对散点图指定颜色,这在pdvega中是很容易实现的。

这里按照花类所属类别分别对其使用不同颜色,其中的参数c就是color的缩写。

颜色归类下的花萼长宽关系散点图

2.3 pdvega与条形图

条形图常用来对分类数据进行展示,进而看出每种类别数据的相对大小,可以说是一种常用于进行的比较的图表形式。在pdvega中进行条形图的绘制,主要存在两种类型的函数,一种用来绘制水平条形图,另外一种用来绘制竖直条形图。用来绘制这两种条形图的函数分别为vgplot.barh()和vgplot.bar()。

vgplot.barh()与水平条形图

输入上面的代码之后,便可以得到一个水平的条形图:

非堆积水平条形图

当然有时我们需要堆积状的条形图,因此,我们只需要在上面的函数上加上一个相应的参数即可。

这样我们便可以得到一个堆积状的水平条形图,各位可以试着比较一下这两个水平条形图的相关区别。

堆积式水平条形图

vgplot.bar()与垂直条形图

上面笔者介绍了水平条形图的绘制,然而在很多时候我们可能更加常用的条形图表现为垂直条形图,因此下面介绍一下怎样使用pdvega绘制垂直条形图的方法。

通过使用上面命令便可以得到一个非堆积的垂直条形图:

非堆积垂直条形图

当然为了获得一个堆积的条形图,只需要和水平条形图一样,增加一个参数就可以了:

如果你没有输入错代码,那么你便可以得到:

堆积状垂直条形图

看到这些输出,你是不是觉得通过pdvega绘制图形真的很简单,那么下面就让你们进一步认识到这种绘制方法的便利之处。

2.4 pdvega与面积图

面积图可以说与折线图非常相似,不同的地方就是面积图是将曲线内部进行填充。这里还是以vega_datasets数据集中的stocks数据表进行说明。

通过输入以上代码,你就得到了一个面积图,这里为了让显示效果更加可观,所以只需要了stocks数据表中的三列数据,当然你也完全可以用全部数据进行面积图绘制,这里笔者不再进行介绍,需要的朋友只需要更换一下数据即可。

pdvega面积图

2.5 pdvega与直方图

直方图相信各位从小学就已经开始接触了吧,所以笔者这里就不再对直方图的含义进行过多介绍,重点讲解一下怎么使用pdvega绘制直方图。

没错,通过以上程序就可以很方便地绘制出一个直方图:

pdvega默认直方图

或者你也可以通过设置函数中的某些参数进而使得图形更加美观:

试试看一下这个图形是否更加能够吸引你,如果你还是觉得不够美观,你可以自行设置其中的参数值,一得到你喜欢的图表形式。

pdvega个性化直方图

2.6 pdvega与饼图

上文中已经介绍了五种常用的商务图,下面笔者继续讲解最后一种常用的商务图表,饼图。不过小编这里不准备介绍常用的那种饼图的绘制(因为小编作为一个美学与图表爱好者,一直都觉得传统的饼图可以说是一种最糟糕的数据可视化形式,不要问为什麼,你多看一些商业期刊就明白了),小编这里主要将介绍的是一种饼图的高级形式:热力图。在pdvega中绘制热地图依赖于vgplot.heatmap()函数。

在jupyter notebook中运行以上命令你便可以得到:

pdvega热力图

这里只是简单地对这些商务图的绘制进行介绍,在往后的学习中会进一步介绍其中各种图形的绘制参数设置。

后记

本期文章介绍了怎么使用pdvega库绘制一些常用的商务图表的绘制方式,通过介绍,了解到了其中常用的折线图、散点图、条形图、直方图、面积图以及热力图的绘制方式。当然本文只是介绍了这些图形的基本绘制方法,对于个性化图形设置的内容介绍较少,这将在往后点额文章中做进一步介绍。在下一期文章中,小编将继续介绍python基础知识,敬请期待!好了,本期文章就介绍到这里了,再一次感谢诸位朋友对于小编的关注与支持。文末附带小编的微信公众号二维码,希望大家多多支持,你们的支持是小编写作的动力!

普哥的公众号

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180421G0SD8B00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券