Python 格式化matplotlib x限制
我试图画出一个18点,其中x极限应该在(2000.0)到(2018.0)之间。有些代码是隐藏的,但我只是发布了关键部分。当我打印结果时,xlimit是Python 格式化matplotlib x限制,python,matplotlib,Python,Matplotlib,我试图画出一个18点,其中x极限应该在(2000.0)到(2018.0)之间。有些代码是隐藏的,但我只是发布了关键部分。当我打印结果时,xlimit是 x = np.linspace(2000.0, 2018.0, num = 18) for i in range(len(x)): x[i]=int(x[i]) for i in range(2000, 2018): y.append(dic[str(i)]) fig, ax = plt.subplots() ax.p
x = np.linspace(2000.0, 2018.0, num = 18)
for i in range(len(x)):
x[i]=int(x[i])
for i in range(2000, 2018):
y.append(dic[str(i)])
fig, ax = plt.subplots()
ax.plot(x, y, marker='o', color='r')
# set title
# set label for x
# set label for y
print(ax.get_xlim())
return ax
不是
请告诉我我做错了什么。您需要自己设置xlim<代码>matplotlib自动选择限制和刻度 所以你需要使用
(2000.0, 2018.0)
xlim正是您想要的
请参见下面的图,您需要自己设置xlim<代码>matplotlib自动选择限制和刻度 所以你需要使用
(2000.0, 2018.0)
xlim正是您想要的
请看下面的图,您没有做错任何事;但是你可能对情节的界限有错误的期望 默认情况下,matplotlib在绘图的每一侧留有5%的边距。因此,如果您的数据在
[x.min(),x.max()]==[2000.0,2018.0]
范围内,您的限制将是
ax.set_xlim([x[0],x[-1]])
如果您不希望在数据周围有任何填充,请使用ax.margins(x=0)
。在这种情况下,打印(ax.get_xlim())
将打印(2000.012018.0)
完整示例:
[x.min()-0.05*(x.max()-x.min()), x.max()+0.05*(x.max()-x.min())] == [1999.1, 2018.9]
你没有做错任何事;但是你可能对情节的界限有错误的期望 默认情况下,matplotlib在绘图的每一侧留有5%的边距。因此,如果您的数据在
[x.min(),x.max()]==[2000.0,2018.0]
范围内,您的限制将是
ax.set_xlim([x[0],x[-1]])
如果您不希望在数据周围有任何填充,请使用ax.margins(x=0)
。在这种情况下,打印(ax.get_xlim())
将打印(2000.012018.0)
完整示例:
[x.min()-0.05*(x.max()-x.min()), x.max()+0.05*(x.max()-x.min())] == [1999.1, 2018.9]
为了使这一点重现,什么是
y
?y是x在字典中的一个特定值。这就像绘制(x,y)点一样。我必须使用plot(),而不是scatterplot来重现,什么是y
?y是x在字典中的一个特定值。这就像绘制(x,y)点一样。我必须使用plot(),而不是scatterplot第一个值和结束值是正确的,但是中间的值仍然很奇怪。它们有很多小数,比如-2001.0588235294117,-2002.1176470588234。是的,但我认为这个答案解决了问题。您必须使用ax.set\u xticks(x)
指定xtick。我建议把你的问题说得更清楚,你是说每个x值?如果你想这样,如果你想在x中显示值,那么使用我前面评论中的那行就是好办法。使用set_xticks,您还可以使用x的子集,例如,将x[::2]
传递到set_xticks
将在x轴上显示x中的其他每一项第一个值和结束值都是正确的,但中间的值仍然很奇怪。它们有很多小数,比如-2001.0588235294117,-2002.1176470588234。是的,但我认为这个答案解决了问题。您必须使用ax.set\u xticks(x)
指定xtick。我建议把你的问题说得更清楚,你是说每个x值?如果你想这样,如果你想在x中显示值,那么使用我前面评论中的那行就是好办法。使用set_xticks,您还可以使用x的子集,例如,将x[::2]
传递到set_xticks
将在x轴上显示x中的其他每一项