Matplotlib bbox_inches ='tight'仅调整高度

时间:2015-12-17 09:54:16

标签: python matplotlib

我想减少数字周围的空白,但不减少数字宽度。在下面的例子中,我将生成一个特定宽度和高度的图形,但是轴的大小相等(我想保持),结果图在顶部和底部都包含很多空白。使用bbox_inches='tight'保存图形可以减少这个空白,但有时也会减少一些我想避免的宽度。有什么想法我怎么能够调整高度以匹配轴而不影响宽度?

import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,68,35)
y=np.linspace(0,34,35)
X, Y = np.meshgrid(x, y)
Z1 = plt.mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
Z2 = plt.mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
Z = 10 * (Z1 - Z2)
Z = np.ma.array(Z)
print Z.shape
fig = plt.figure(figsize=(2, 2), dpi=400)
ax=(fig.add_subplot(111, aspect='equal'))


CS = plt.contourf(x, y, Z, 10,cmap=plt.cm.bone)

plt.show()

下面请找到放在棕色表面上的图(白色背景) 更好地了解其在图/

内绘制的图像的范围

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以将fig.subplots_adjust()topbottom参数一起使用。

import matplotlib.pyplot as plt

fig = plt.figure()

fig.subplots_adjust(top=X,bottom=Y) # Set X and Y to suit your needs

如果需要,您还可以使用leftright来控制宽度。