Python 当最后一个x值等于刻度时,避免打印边缘上的点

Python 当最后一个x值等于刻度时,避免打印边缘上的点,python,matplotlib,Python,Matplotlib,每次我尝试绘制一些点时,最后一个点就在绘图的边缘上: 注意用红色圈出的点。有可能避免这种情况吗?我想在绘制的最后一个点和右绘制边之间留出一些空间 我期望的结果是: 我得到的结果是将最后一个x值增加一点点。我想找到一种打印方法,它可以自动处理这个问题,并且不依赖于值的大小(例如,如果我打印的是非常小的浮点值,那么即使是最小的更改也会非常显著,并且输出不会反映数据) 我正在使用: figure(1) #X[-1] += 0.0001 #ugly way of obtaining some

每次我尝试绘制一些点时,最后一个点就在绘图的边缘上:

注意用红色圈出的点。有可能避免这种情况吗?我想在绘制的最后一个点和右绘制边之间留出一些空间

我期望的结果是:

我得到的结果是将最后一个x值增加一点点。我想找到一种打印方法,它可以自动处理这个问题,并且不依赖于值的大小(例如,如果我打印的是非常小的浮点值,那么即使是最小的更改也会非常显著,并且输出不会反映数据)

我正在使用:

figure(1)
#X[-1] += 0.0001    #ugly way of obtaining some space at the right
errorbar(X, Y, yerr=error, fmt='bo')
(几乎直接抄袭自)

您需要
margins


另请参见

能否在轴上设置
xlim
?是否将
xlim
设置为
((X[max]-X[max-1]/2)
足够好吗?我想我读过一次关于填充选项的内容,但我仍然在搜索你想要的函数是
ax.margins
,我刚刚意识到这并不完全符合我的要求,因为它在底部和左侧也添加了边距。如果是pos,我希望原点保持在左下角可能。正如我所说,我希望原点正好在左下角。放置
y=0
原点的高度正确,但有一点在右边。我相信
margins
不能用来获得我想要的东西,因为它们的边距只能是对称的,而我只希望它们在右边。@Bakuriu对不起,请阅读您的命令nt太快了(把“左”读作“上”)。我不知道有什么自动的方法可以做到这一点。@Bakuriu我为自己的嘲笑道歉。
ax.margins(y=.1, x=.1)