我想在一个图中包含三个图。该图的子图布局应为二乘二,其中第一个图应占据前两个子图单元(即整个第一行图单元),而其他图应位于单元3和4中第一个图的下方。我知道matlab通过使用像这样的subplot命令可以做到这一点
subplot(2,2,[1,2]) % the plot will span subplots 1 and 2
在pyplot中是否还可能有一个轴占据多个子图?
pyplot.subplot的文档字符串没有讨论。
任何人都有一个简单的解决方案?
提前致谢
最佳答案
您可以简单地执行以下操作:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 7, 0.01)
plt.subplot(2, 1, 1)
plt.plot(x, np.sin(x))
plt.subplot(2, 2, 3)
plt.plot(x, np.cos(x))
plt.subplot(2, 2, 4)
plt.plot(x, np.sin(x)*np.cos(x))
即,第一个图实际上是上半部分的图(该图仅分为21 = 2个像元),接下来的两个较小的图是在22 = 4个像元的网格中完成的。subplot()
的第三个参数是网格内图的位置:例如,在第二个子图(
subplot(2, 2, 3)
)中,轴将转到2 * 2矩阵的第三部分,即左下角。关于python - 如何使用pyplot使轴占据多个子图(Python),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2265319/