如何在 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 标签

仅具有突出显示值的 matplotlib 条形图

Matplotlib 颜色条未显示 2 个离散值的标签

如何在 matplotlib 中更改图例字体名称

matplotlib (imshow) 中的每个块应该如何被点击?

python matplotlib怎么让x轴只显示固定个数的标签