以下是一个示例代码,展示了如何按行和列迭代生成matplotlib中的子图,并仅绘制最终坐标轴:
import matplotlib.pyplot as plt
# 创建一个3x3的子图网格
fig, axs = plt.subplots(3, 3)
# 迭代子图网格的行和列
for i in range(3):
for j in range(3):
ax = axs[i, j] # 获取当前子图
# 绘制子图内容
ax.plot([1, 2, 3], [1, 2, 3])
ax.set_title(f'Subplot {i+1}-{j+1}')
# 隐藏子图的刻度标签和坐标轴线
if i != 2:
ax.set_xticklabels([])
ax.set_xticks([])
if j != 0:
ax.set_yticklabels([])
ax.set_yticks([])
# 调整子图之间的间距
plt.tight_layout()
# 只绘制最终的坐标轴
plt.show()
在这个示例中,我们首先创建了一个3x3的子图网格,并使用双重循环迭代子图的行和列。在每个子图中,我们绘制了一条简单的曲线,并设置了子图的标题。
然后,我们根据子图的位置隐藏了一些刻度标签和坐标轴线。具体来说,我们隐藏了所有行(除了最后一行)的x刻度标签和坐标轴线,并隐藏了所有列(除了第一列)的y刻度标签和坐标轴线。
最后,我们使用tight_layout()
函数调整子图之间的间距,并使用plt.show()
只绘制最终的坐标轴。
上一篇:按行合并CSV文件