更改matplotlib polar contourf中的figsize
我使用以下示例创建两个极轴轮廓子图。当我创建为pdf时,有很多空白,我想通过更改figsize来删除这些空白 我知道通常如何更改figsize,但我很难看到在这个代码示例中该如何放置它。任何指导或暗示都将不胜感激 非常感谢更改matplotlib polar contourf中的figsize,matplotlib,Matplotlib,我使用以下示例创建两个极轴轮廓子图。当我创建为pdf时,有很多空白,我想通过更改figsize来删除这些空白 我知道通常如何更改figsize,但我很难看到在这个代码示例中该如何放置它。任何指导或暗示都将不胜感激 非常感谢 import numpy as np import matplotlib.pyplot as plt #-- Generate Data ----------------------------------------- # Using linspace so that t
import numpy as np
import matplotlib.pyplot as plt
#-- Generate Data -----------------------------------------
# Using linspace so that the endpoint of 360 is included...
azimuths = np.radians(np.linspace(0, 360, 20))
zeniths = np.arange(0, 70, 10)
r, theta = np.meshgrid(zeniths, azimuths)
values = np.random.random((azimuths.size, zeniths.size))
#-- Plot... ------------------------------------------------
fig, ax = plt.subplots(subplot_kw=dict(projection='polar'))
ax.contourf(theta, r, values)
plt.show()
您可以很容易地将
plt.figsize(x,y)
放在代码的开头,它就会起作用。plt.figsize更改所有未来绘图的大小,而不仅仅是当前绘图
然而,我认为你的问题不是你认为的那样。除非您更改周围的选项,否则生成的PDF中往往会有相当多的空白。我通常使用
plt.savefig( 'name.pdf', bbox_inches='tight', pad_inches=0 )
这将提供尽可能少的空白。bbox_inches='tight'试图使边界框尽可能小,而pad_inches设置应该填充多少英寸的空白。在我的例子中,我没有任何额外的填充,因为我在使用图形的任何地方添加填充。另一种方法是在调用
plt.subplot
时使用figsize
kwarg
fig,ax=plt.subplot(figsize=(6,6),subplot_kw=dict(projection='polar'))
顺便说一句,这些值以英寸为单位。谢谢,我不知道savefig中的注释-这很有帮助。实际上,在代码的开头使用plt.figsize=(5,5)对我的输出没有影响;它需要是plt.figsize(5,5),不带等号。有一个函数figsize,用于设置默认地物大小,还有一个命名参数figsize to figure和子图,用于设置该特定地物的figsize。