如何在 matplotlib 中显示所有标签值
Posted
技术标签:
【中文标题】如何在 matplotlib 中显示所有标签值【英文标题】:How to display all label values in matplotlib 【发布时间】:2014-11-25 17:31:40 【问题描述】:我有两个列表,当我使用以下代码进行绘图时,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... 但我想要所有值。
附:我的 x 轴未排序,应按原样显示。
【问题讨论】:
【参考方案1】:这里的问题是自动设置的刻度数与绘图中的点数不同。
要解决此问题,请设置刻度数:
ax1.set_xticks(np.arange(len(x)))
在ax1.set_xticklabels(x)
调用之前。
【讨论】:
如果标签是字符串值,这种方法是否可行?试过了;有用。感谢您提供简单直接的解决方案。以上是关于如何在 matplotlib 中显示所有标签值的主要内容,如果未能解决你的问题,请参考以下文章
Matplotlib 在所有子图上显示 x-ticks 和唯一的 y 标签