基于Python的数据可视化

2021-07-12 09:00李俊华
新型工业化 2021年3期
关键词:折线图柱状图图形化

李俊华

(哈尔滨广厦学院 信息学院,黑龙江 哈尔滨 150025)

0 引言

可视化是借助图形化的方法,清晰有效的将数据展示出来。数据可视化的方法及工具有很多,例如少量数据较为常用的Excel,以及PowerPoint等均可实现数据的可视化。对于不断发展的大数据的今天,Python的使用越来越受到关注。其丰富的第三方库更是满足了不同需求的应用[1]。本文简单介绍可视化类型的选择,以及介绍了几款Python对于可视化的第三方库及其应用场景,重点介绍pyecharts的使用,并通过pyecharts实现了几款精美的可视化图形实例,包括饼图,柱状图,流动图及热力图,为学习数据可视化的读者提供参考[2]。

1 可视化类型选择

可视化是借助图形化的方法,清晰有效地将数据展示出来。当有可视化需求时,首先要了解需求时什么,从而选择合适的可视化图形。比如,展示两个维度的可视化图形有很多,包括散点图、折线图、柱状图等等。根据需求的确定,从而选择最合适的图形可视化。例如,需求是查看“半年内的销售情况”。由此需求可以确定这里会涉及两个维度进行展示,一个维度是时间序列(半年即6个月),另一个维度是每个月的销量。因此,从众多两个维度的可视化图形中,选择折线图更为合适,因为其适合展示连续的时间序列数据。通过折线图,可以清晰的观察出销量随时间的变化情况[3]。

每一种可视化都有其适合的应用场合,需要在明确了想要展示的信息之后来合理地选择可视化类型。这里简单总结如下:

(1)想要展示数据的分布情况,可以选择散点图、箱型图、柱状图和直方图;(2)想要展示数据的变化趋势,可以选择折线图和双轴图;(3)想要展示对比效果,可以选择柱状图、饼图和雷达图;(4)想要展示数据的部分与整体的关系,可以选择面积图、饼图、旭日图、堆积柱状图和矩形树图;(5)想要展示数据之间的关系,可以选择散点图、气泡图和桑基图;(6)想要展示文本信息的重点,可以选择词云图;(7)想要展示流程中每一步的转化情况,可以选择漏斗图。

除了选择好合适的图形之外,还要考虑可视化的配色及静态或动态效果等,以此来更好的完成数据可视化。篇幅原因,这里不再赘述。

2 Python数据可视化库

Python为数据可视化提供了很好的支持。Python强大的第三方库更是为不同数据可视化需求及不同领域提供了支持。这里简单介绍几个不同领域的Python数据可视化库。

2.1 Matplotlib

Matplotlib是Python数据可视化库的元老,已有十多年的历史,使用范围仍然很是广泛。它的设计非常类似于MATLAB。

2.2 Seaborn

Seaborn是在Matplotlib之上构建的,其利用Matplotlib的强大功能,可以只用几行代码就可创建美观的图表。

2.3 ggplot

ggplot基于ggplot2(一个R语言绘图系统),它的运行方式与Matplotlib不同,它允许对其组件进行分层来创建完整的绘图。例如,可以先从轴开始画,然后再添加点,添加线、趋势线等。

2.4 Bokeh

Bokeh基于The Grammer of Graphics,它的优势在于能够创建交互式的网站图,它可以很容易地输出为JSON对象、HTML或交互式web应用程序。同时还支持流媒体和实时数据。

2.5 Plotly

与Bokeh一样,Plotly的强项在于制作交互式图,但它提供了一些在大多数库中没有的图表,如等高线图,树状图和3D图表。

2.6 geoplotlib

geoplotlib是一个用于创建地图和绘制地理数据的工具库。可以使用它来创建各种地图类型,例如等值线,热图和点密度贴图[4]。

3 pyecharts

3.1 pyecharts简介

pyecharts是一个用于生成Echarts图表的类库。Echarts是百度开源的一个数据可视化JS库,主要用于数据可视化。pyecharts实际上就是Echarts与Python的对接。使用pyecharts可以生成独立的网页,也可以在flask,Django中集成使用[5]。

pyecharts包含的图表:Bar 、Bar3D、Boxplot、EffectScatter 、Funnel、Gauge、Geo、Graph、HeatMap、Kline、Line、Line3D、Liquid、Map、Parallel、Pie、Polar、Radar、Sankey、Scatter、Scatter3D 、ThemeRiver、WordCloud。

pyecharts与matplotlib优缺点对比如下:

(1)优点:matplotlib属于静态图,没有交互,pyecharts渲染效果更好;(2)缺点:不稳定,pyecharts分为v0.5.X和v1两个大版本,v0.5.X和v1间不兼容,v1是一个全新的版本,支持Python3.6以上版本。

3.2 pyecharts的使用

3.2.1 下载与安装

(1)pip命令

$ pip(3) install pyecharts(shell中直接命令)

(2)源码安装

$ git clone https://github.com/pyecharts/pyecharts.git

$ cd pyecharts

$ pip install -r requirements.txt

$ python setup.py install

# 或者执行 python install.py

3.2.2 pyecharts基本使用

pyecharts的详细配置API可参考官方帮助文档。本文简单介绍几款图表的效果实例如图1~4所示。

图1 精美饼图示例

图3 十一飞机流动图

图4 水果销售热力图

4 结语

通过对Python的数据可视化的简要介绍和整理,包括可视化类型如何选择,以及Python数据可视化的第三方库的简要介绍,并重点介绍了pyecharts库,包括其下载与安装,由于篇幅原因,只展示了利用pyecharts完成的四款常用图形的实例。为学习数据可视的读者提供参考。

猜你喜欢
折线图柱状图图形化
基于Unity3D 的冒泡排序算法动态可视化设计及实现
数据增加折线图自动延长
LKJ自动化测试系统图形化技术研究
让折线图显示在一个单元格中
再多也不乱 制作按需显示的折线图
美化Excel折线图表
由科研论文中一个柱状图引发的编辑思考
基于Android平台的柱状图组件的设计实现
运用图形化听写式复习,构建高效地理课堂
基于Excel-VBA的深水井柱状图绘制程序的设计和实现