我在matplotlib中有一个简单的绘图,我想增加标题和绘图之间的距离(不使用suptitle
,因为它不适用于我在服务器上使用的版本)。怎么做?
答案 0 :(得分:33)
似乎没有一种干净的方式直接设置它(但可能值得添加一个功能请求),但标题只是一个text
艺术家,所以你可以进入和更改它
#ax = plt.gca()
ttl = ax.title
ttl.set_position([.5, 1.05])
#plt.draw()
应该做的伎俩。根据自己的喜好调整1.05
。
答案 1 :(得分:16)
使用rcParams
:
from matplotlib import rcParams
rcParams['axes.titlepad'] = 20
其中20
是情节和标题之间的填充。
答案 2 :(得分:16)
使用matplotlib 2.2+
,您可以使用关键字参数pad
:
ax.set_title('Title', pad=20)
调整pad
,直到您对轴标题位置感到满意为止。与使用rcParams
相比,此方法的优点是它只会更改此一个轴标题。
答案 3 :(得分:5)
您只需将y
参数传递到plt.suptitle
方法中即可:
plt.suptitle('Amazing Stats', size=16, y=1.12);
答案 4 :(得分:2)
另一种可能性是相对于整个图形窗口减小图形的相对大小。这样,标题和剧情之间的距离就会增加。
在显示图之前,即在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方法相比,此方法的优点是标题永远不会超出图形窗口;因为如果标题足够大,则通过y
中的参数suptitle
向上移动标题可能会将标题移出图形。 (因为发生在我身上;))