published on in Python

数据分析・数据可视化

返回教程主页

上篇 数据分析・多维数组的数值操作

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()

053-1.png

子图显示

我们可以使用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()

053-2.png

subplot(3, 1, 1)表示将窗口分割为3行1列,选中当前顺序「上小于下,左小于右,从1开始」中的第一个子图。

直方图绘制

接下来我们以直方图的显示展示y集:

bins = np.linspace(0, 30, 7)
plt.hist(y, bins, rwidth=0.9)
plt.show()

053-3.png

使用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()

053-4.png

调用scatter函数以散点图的形式展示函数图像。参数s用于控制对应点的大小;参数c可以用于设定对应点的颜色;alpha用于设定透明度。

继续学习

Matplotlib的绘图功能十分丰富,也支持动画,3D数据绘制,感兴趣的朋友可以去往其官方文档自主学习:

https://matplotlib.org/…

下篇 数据分析・资料的载入与导出