📜  Python中的 Matplotlib.pyplot.subplot()函数(1)

📅  最后修改于: 2023-12-03 15:19:25.252000             🧑  作者: Mango

Python中的 Matplotlib.pyplot.subplot()函数

在使用Python进行数据可视化时,Matplotlib是一个常用的绘图库。其中,subplot()函数允许用户在同一图形中绘制多个子图。

函数介绍

Matplotlib.pyplot.subplot()的语法如下:

subplot(nrows, ncols, index, **kwargs)

参数说明:

  • nrows: 子图行数
  • ncols: 子图列数
  • index: 子图索引,从左上角开始,从左到右,从上到下递增
  • **kwargs: 其他关键字参数,例如图形标题、x轴标签、y轴标签等等

例子:

import matplotlib.pyplot as plt

# 绘制一个2行3列的子图
plt.subplot(2, 3, 1) # 第一张子图
plt.plot([1,2,3,4], [1,4,9,16], 'r--')
plt.title('First sub plot')

plt.subplot(2, 3, 2) # 第二张子图
plt.plot([1,2,3,4], [1,2,3,4], 'b^')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.title('Second sub plot')

plt.show()

上面这个例子中,我们首先绘制了一个2行3列的子图,在第1个子图中绘制了一条红色虚线,并设置了子图的标题为'First sub plot';接着在第2个子图中绘制了一些蓝色三角形,增加了'X Axis'和'Y Axis'标签,并设置了子图的标题为'Second sub plot'。

执行这个程序,可以得到如下的输出:

子图的位置可以使用subplot2grid()函数更加灵活地控制。

标准化绘图工具

我们也可以使用subplots快速创建多个子图。在这种情况下,创建出来的子图将会是一个NumPy数组,可以使用对应的索引对它们进行访问。

例子:

import matplotlib.pyplot as plt

# 绘制3张子图,每一行2张
fig, axs = plt.subplots(3, 2)

axs[0, 0].plot([1, 2, 3], [4, 5, 6])
axs[0, 0].set_title('First sub plot')

axs[0, 1].scatter([1, 2, 3], [4, 5, 6])
axs[0, 1].set_title('Second sub plot')

axs[1, 0].bar(['A', 'B', 'C'], [4, 5, 6])
axs[1, 0].set_title('Third sub plot')

axs[1, 1].pie([2, 3, 1])
axs[1, 1].set_title('Fourth sub plot')

axs[2, 0].fill([1, 2, 3, 2, 1], [4, 5, 6, 9, 7])
axs[2, 0].set_title('Fifth sub plot')

plt.show()

在上面这个例子中,我们使用subplots()一次创建出了6个子图,通过索引访问它们。对每个子图进行了不同的绘制和标注。最后,显示所有子图。

程序执行后,效果如下:

总结

通过本文,我们学习了subplot()函数和subplots()函数,并完成了相应的程序实例。这些函数都是Matplotlib库中非常重要的绘图函数,可以用于简单或复杂的可视化任务。在实际应用中,我们需要结合自己的需求,采用不同的绘图函数完成相应的任务。