python:是否可以创建3个子图(在两个轴上)?

python:是否可以创建3个子图(在两个轴上)?,python,matplotlib,plot,subplot,Python,Matplotlib,Plot,Subplot,以下代码给出了4(2x2)个图: 我想知道是否有办法在上面列出的前3个位置创建3个子图,同时完全去掉右下角的子图(ax[1,1])? (最终看起来一个子图与主绘图的x轴对齐,而另一个子图与y轴对齐。)使用子图生成所有子图,即使您没有在其中放置任何内容。不如改用子批次 import matplotlib.pyplot as plt import numpy as np import matplotlib.mlab as mlab delta = 0.025 x = np.arange(-3.0,

以下代码给出了4(2x2)个图:

我想知道是否有办法在上面列出的前3个位置创建3个子图,同时完全去掉右下角的子图(
ax[1,1]
)?
(最终看起来一个子图与主绘图的x轴对齐,而另一个子图与y轴对齐。)

使用
子图
生成所有子图,即使您没有在其中放置任何内容。不如改用
子批次

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.mlab as mlab
delta = 0.025
x = np.arange(-3.0, 3.0, delta)
y = np.arange(-2.0, 2.0, delta)
X, Y = np.meshgrid(x, y)
Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
# difference of Gaussians
Z = 10.0 * (Z2 - Z1)

x = np.arange(0,5,1)
plt.subplot(221).contour(X, Y, Z)
plt.subplot(224).plot(x, x*2)
plt.subplot(223).plot(x, np.sqrt(x))
plt.show() 

编辑:添加了改编自的等高线示例。

重要的不是绘图类型,而是子绘图的划分。在一个物体上起作用的任何东西都可以在这里起作用。我已经编辑了这个例子。
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.mlab as mlab
delta = 0.025
x = np.arange(-3.0, 3.0, delta)
y = np.arange(-2.0, 2.0, delta)
X, Y = np.meshgrid(x, y)
Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
# difference of Gaussians
Z = 10.0 * (Z2 - Z1)

x = np.arange(0,5,1)
plt.subplot(221).contour(X, Y, Z)
plt.subplot(224).plot(x, x*2)
plt.subplot(223).plot(x, np.sqrt(x))
plt.show()