我正在尝试使用matppec使用matplotlib创建子图。 我想知道为什么matplotlib没有在图上放置正确的x限制。
x值的范围为0到40,但绘图仅显示1个数据点,因为plottet x轴仅从-0.06到0.06。
使用subplot + gridspec时,是否必须手动设置xlim?
x = range(0, len(stuff["training"]))
y = stuff["training"]
fig = plt.figure()
gs = gridspec.GridSpec(3, 1)
ax1 = fig.add_subplot(gs[0:2])
ax2 = fig.add_subplot(gs[-1], sharex=ax1)
plt.setp(ax2.get_xticklabels(), visible=False)
plt.setp([ax1, ax2], title='Test')
ax1.scatter(x, stuff["training"])
ax2.plot(x, stuff["lr"])
fig.suptitle('An overall title', size=20)
gs.tight_layout(fig, rect=[0, 0, 1, 0.97])
编辑:我想我发现了问题 这不起作用:
ax1 = fig.add_subplot(gs[0:2])
ax2 = fig.add_subplot(gs[-1], sharex=ax1)
ax1.scatter(x,y)
这是有效的:
ax1 = fig.add_subplot(gs[0:2])
ax1.scatter(x,y)
ax2 = fig.add_subplot(gs[-1], sharex=ax1)