Matplotlib:更改绘图位置

Mat*_*ias 4 python matplotlib

我使用图形大小(不应更改)绘制了以下图:

plt.figure(figsize=(14, 5))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

不幸的是,x 标签并不完全可见。我的问题:是否有可能将整个图形移到顶部(因为有足够的空间)?

编码:

plt.figure(figsize=(14, 5))
plt.plot(time_load,load, linewidth=1.5)
plt.grid(True)
plt.tick_params(labelsize=16)
plt.xlabel('Time [hours]',fontsize=16)
plt.xlim([0,24])
plt.xticks([0,4,8,12,16,20,24])
plt.legend(loc="upper left",fontsize = 'large')
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助!

Mat*_*ias 7

一个非常简单的方法是使用

plt.tight_layout()
Run Code Online (Sandbox Code Playgroud)

请参阅:http : //matplotlib.org/users/tight_layout_guide.html

非常感谢您的帮助!


Dan*_*arb 7

你也可以试试

plt.subplots_adjust(bottom=0.19)
Run Code Online (Sandbox Code Playgroud)

如果 0.19 增加了太多或太少的空间以更好地查看 x 标签,则尝试一点一点地向上或向下调整。


Saa*_*aad 2

您可以使用axes()命令来将位置指定为轴。您还可以使用 xlim() 命令和 ylim() 命令。对于您的情况,您可以使用后者。举个例子,xlim 方法可以这样使用:

plt.xlim(X.min()*1.1, X.max()*1.1)
plt.ylim(C.min()*1.1, C.max()*1.1)
Run Code Online (Sandbox Code Playgroud)

这将为清楚地看到数据点留出一些空间。希望有帮助。 刚刚看到代码,所以您正在使用 xlim 方法。您想在其他地方创建子图,为此您可以使用 axis() 方法。

plt.axes([0.3, 0.3, .5, .5])
Run Code Online (Sandbox Code Playgroud)

您可以相应地调整情节。这将在图的右上角创建一个子图。