📅  最后修改于: 2023-12-03 15:19:25.252000             🧑  作者: Mango
在使用Python进行数据可视化时,Matplotlib是一个常用的绘图库。其中,subplot()函数允许用户在同一图形中绘制多个子图。
Matplotlib.pyplot.subplot()的语法如下:
subplot(nrows, ncols, index, **kwargs)
参数说明:
例子:
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库中非常重要的绘图函数,可以用于简单或复杂的可视化任务。在实际应用中,我们需要结合自己的需求,采用不同的绘图函数完成相应的任务。