我有两个列表,当我用下面的代码绘图时,x轴最多只能显示12个值(最大值是15)。我可以知道如何将x列表中的所有值显示到x轴吗?提前感谢。
x = [4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3]
y = [10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160]
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax1.plot(np.arange(len(x)), y, 'o')
ax1.set_xticklabels(x)
plt.show()
如果我在set_xticklabels
函数中设置minor=True,它会显示所有x= 2,4,6,8,..,16 ...,但我需要所有值。
P.S.我的x轴没有排序,应该显示为它显示。
2条答案
按热度按时间dpiehjr41#
这里的问题是自动设置的刻度数与绘图中的点数不同。
要解决此问题,请设置刻度数:
在
ax1.set_xticklabels(x)
调用之前。5sxhfpxr2#
或更好
来自SO中的其他答案