在matplolib中增加标题和情节之间的距离?

Vin*_*ent 33 python plot margins matplotlib title

我在matplotlib中有一个简单的情节,我想增加标题和情节之间的距离(不使用,suptitle因为它不适用于我在服务器上使用的版本).怎么做 ?

tac*_*ell 38

似乎没有一种干净的方式直接设置它(但可能值得添加一个功能请求),但标题只是一个text艺术家,所以你可以进入并更改它.

#ax = plt.gca()
ttl = ax.title
ttl.set_position([.5, 1.05])
#plt.draw()
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩.1.05根据自己的喜好调整.


Thu*_*411 32

使用matplotlib 2.2+,您可以使用关键字参数pad:

ax.set_title('Title', pad=20)
Run Code Online (Sandbox Code Playgroud)

调整,pad直到您对轴标题位置感到满意为止.这种方法优于使用的优点rcParams是它只改变这一个轴标题.

  • @TedoVrbanec 对于轴标签,您可以执行`ax.set_xlabel('label', labelpad=20)`。调整“labelpad”参数,直到满意为止。 (2认同)

bmo*_*gan 18

使用rcParams:

from matplotlib import rcParams
rcParams['axes.titlepad'] = 20 
Run Code Online (Sandbox Code Playgroud)

20情节和标题之间的填充在哪里.

来自https://matplotlib.org/users/customizing.html


lov*_*sus 11

另一种可能性是减小绘图相对于整个图形窗口的相对大小。这样,标题和情节之间的距离就会增加。

在显示绘图之前plt.show(),即 before ,编写以下命令:

#The standard value of 'top' is 0.9, tune a lower value, e.g., 0.8
plt.subplots_adjust(top=0.8) 
Run Code Online (Sandbox Code Playgroud)

与@CanCeylan 方法相比,此方法的优势在于标题永远不会超出图形窗口;因为如果标题是足够大的,然后向上移动它通过参数ysuptitle可以移动的称号附图之外。(因为它发生在我身上;))


Can*_*lan 8

您可以将y参数传递给plt.suptitle方法:

plt.suptitle('Amazing Stats', size=16, y=1.12);      
Run Code Online (Sandbox Code Playgroud)

  • 好的!在 matplotlib `v2.0.0` 中,它也适用于 `plt.title()`。 (2认同)