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)
绘制填充图
运行输出如图所示。
领取专属 10元无门槛券
私享最新 技术干货