Python如何实现数据可视化?

Python拥有众多的第三方库使我们可以方便地进行一些数据的可视化操作。目前很多库的可视化应用都是建立在matplotlib的基础上的。所以这里重点介绍matplotlib库的基本使用方法。

基本操作

先看一个示例代码来了解一张图的组成部分,如下所示。

运行输出如图所示。

下面进行简要说明。

import matplotlib.pyplot as plt

一般用到的就是pyplot,且按照惯例导入为plt。

plt.plot(x,y,'go')

这里就比较明确了,x、y是自变量和因变量数据。后面的'go'是对样式的控制:其中g表示选择绿色,o表示选择点的方式显示。更多参数设置可使用帮助命令help(plt.plot)进一步学习。

plt.title(r"$y=\cos(\pi \times x)$")

为图添加一个标题。值得注意的是,这里使用了LaTeX的格式,因为matplotlib是兼容LaTeX的。这对书写公式提供了极大的便利。读者可能会遇到无法显示中文的情况,这一点接下来会进行专门的讲解。

plt.show()

通过show来展示图像,在pandas和seaborn中也使用这句代码进行图像的展示操作。

这里只是创建了一个图像,然后加了标题,还可以通过其他的设置使得图表信息更加丰富,也更加美观。

首先看一下增强版本的代码,如下所示。

运行输出如图所示。

下面进行简要说明。

alpha

alpha参数代表透明度,从0到1表示颜色逐渐加深。

linewidth

代表线条或者点的粗细程度。

axis

按照(xmin、xmax、ymin、ymax)的格式来限制座标轴的范围。

legend

在plot里面使用lable,记录了当前图的图例,可以通过调用legend使其显示。在默认情况下,图例会显示在最合适的空白处,当然也可以手动调节其位置。

grid

显示背景网格线,也可以通过alpha参数设置其透明度。

color=(0.1, 0.3, 0.5)

在有些情况下,matplotlib自带的颜色达不到效果,此时可以通过设置归一化到[0,1]的RGB元组来指定颜色。也可以使用HTML的十六进制字符串,如"#eeefff"来指定颜色。

中文显示问题

在初次使用matplotlib时一般都会遇到无法显示中文的问题,无论是Windows还是Ubuntu之类的Linux系统。这里分别给出解决的办法。

对于Windows,解决方法相对较为简单,只需要在开头处加上下面三行代码,一般就可以了。

对于Ubuntu系统,需要手动指定字体来实现中文的显示。

设置代码如下。

运行输出如图所示。

注意:这里表示字体的.ttc文件是从Windows系统中拷贝过来的,可以放到任意路径,通过程序指定其路径即可。当然读者也可以从网上寻找其他永久设置的方法,由于大部分都比较烦琐,这里就不展开介绍了。

matplotlib的进阶使用

绘制子图

下面介绍怎样在一张图上绘制多个子图,代码如下。

运行输出如图所示。

下面进行简要说明。

plt.subplot(221)

这里subplot的参数221,应当分别解读。22代表要绘制两行两列共四个子图。1代表在第一位置做图。这里的1可以看作(1,1),对应的2、3、4可以看作座标(1,2)、(2,1)、(2,2)

绘制填充图

运行输出如图所示。

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

扫码关注云+社区

领取腾讯云代金券