Matplotlib是一个非常有用的Python数据绘图库,借助Matplotlib可以很方便的将数据可视化。
简单示范
我们通过绘制一个简单的函数 $y=x^2$ 来了解matplotlib的基本使用方式。
(1) 引入matplotlib以及numpy库:
import matplotlib.pyplot as plt
import numpy as np
(2) 使用numpy生成均匀分布在-5到5之间的100个数作为横座标集x:
x = np.linspace(-5, 5, 100)
(3) 通过函数 $y=x^2$ 计算纵座标集y:
y = x**2
(4) 调用plot函数进行绘制:
plt.plot(x, y)
(5) 设置x与y座标的标签:
plt.xlabel('x')
plt.ylabel('y')
(6) 调用show函数显示绘制结果:
plt.show()
子图显示
我们可以使用subplot方法在一个窗口中显示多个子图:
plt.subplot(3, 1, 1)
plt.title('part1')
plt.plot(x[:50], y[:50])
plt.subplot(3, 1, 2)
plt.title('part2')
plt.plot(x[50:], y[50:])
plt.subplot(3, 1, 3)
plt.title('full')
plt.plot(x, y)
plt.show()
subplot(3, 1, 1)
表示将窗口分割为3行1列,选中当前顺序「上小于下,左小于右,从1开始」中的第一个子图。
直方图绘制
接下来我们以直方图的显示展示y集:
bins = np.linspace(0, 30, 7)
plt.hist(y, bins, rwidth=0.9)
plt.show()
使用np.linspace
产生7个均匀分布在0到30的点作为区间分割点,调用hist
函数将其以直方图的形式绘制出来,参数rwidth
表示条形所占区间的比例。
散点图
现在使用散点图展示 $y=x^2$:
plt.scatter(x, y, s=y * 2, c=y / 25, alpha=0.5)
plt.show()
调用scatter
函数以散点图的形式展示函数图像。参数s
用于控制对应点的大小;参数c
可以用于设定对应点的颜色;alpha
用于设定透明度。
继续学习
Matplotlib的绘图功能十分丰富,也支持动画,3D数据绘制,感兴趣的朋友可以去往其官方文档自主学习: