71

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

4

5 回答 5

111

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

ax.set_title('Title', pad=20)

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

于 2018-03-20T21:44:59.787 回答
56

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

#ax = plt.gca()
ttl = ax.title
ttl.set_position([.5, 1.05])
#plt.draw()

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

于 2013-05-07T13:43:09.353 回答
29

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

plt.suptitle('Amazing Stats', size=16, y=1.12);      
于 2018-11-05T15:08:46.190 回答
25

使用rcParams

from matplotlib import rcParams
rcParams['axes.titlepad'] = 20 

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

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

于 2017-06-11T15:05:27.003 回答
11

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

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

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

这种方法比@CanCeylan 方法的优点是标题永远不会超出图形窗口;因为如果标题足够大,那么通过参数yin向上移动它suptitle可能会将标题移动到图形之外。(因为它发生在我身上;))

于 2019-06-24T13:52:43.823 回答