Matplotlib:混合整数和浮点刻度

Matplotlib: Mix integer and float ticks

对于我的 pyplot 轴,我想使用以下刻度:

ticks = [-5.0, -4, -3, -2, -1, -0.128]

(这些奇怪的值是计算出来的,会动态变化。)

但是有两个重要的细节我想知道:第一个和最后一个值应该是一个浮点数,以便在开始和结束时看到确切的值。之间的值只能是整数以保持其可读性。

为了设置刻度,我做了

axes = plt.subplot()
axes.set_xticks(ticks)

我得到了我想要的,但它看起来很糟糕,因为我的整数值仍然打印为带 3 位小数的浮点值。

我想要报价 -5.000, -4, -3, -2, -1, -0.128 而不是 -5.000, -4.000, ...

知道我能做些什么来解决这个问题吗?谢谢! :)

多亏了ImportanceOfBeingErnest,我才得以快速解决。非常感谢!

其他有同样问题的人:

ticks = [-5.0, -4, -3, -2, -1, -0.128]
tickLabels = map(str, ticks)

axes = plt.subplot()
axes.set_xticks(ticks)
axes.set_xticklabels(tickLabels)