绘图是数据分析工作中最重要的任务之一,是探索过程的一部分。python为我们提供了许多可视化工具,最常用的的是matplotlib。matplotlib是一种用于创建出版质量图标的桌面绘图包(主要是2D方面),它为python构建了一个MATLAB式的绘图接口。它不仅支持各种操作系统上许多不同的GUI后端,而且还能将图片导出为各种常见的矢量和光栅图:PDF、SVG、JPG、PNG、BMP、GIF等。matplotlib还有许多插件工具集,如用于3D图形的mplot3d以及用于地图和投影的basemap.
一、Figure
matplotlib的图像都位于Figure对象中,利用plt.figure创建新的Figure,不能通过空的Figure绘图。必须用add_subplot创建一个或多个subplot才行。
代码:
import matplotlib.pyplot as plt
import numpy as np
data = np.arange(10)
plt.plot(data)
#创建一个figure
fig = plt.figure()
#创建的图像是2*2的,目前选中的是4个subplot中的第一个(编号从1开始)
ax1 = fig.add_subplot(2, 2, 1)
ax3 = fig.add_subplot(2, 2, 3)
ax2 = fig.add_subplot(2, 2, 2)
#此时,发出一个绘图指令,matplotlib会在最后一个用过的subplot(若无,则创建一个)上进行绘制
#'k--'是一个线性选项,代表黑色虚线
plt.plot(np.random.randn(50).cumsum(), 'k--')
#柱状图
ax1.hist(np.random.randn(100), bins=20, color='k', alpha=0.3)
#散点图
ax3.scatter(np.arange(30), np.arange(30) + 3 * np.random.randn(30))
#可以使用plt.close()方法关闭图在控制台出现
#plt.close('all')