Python Matplotlib:混合整数和浮点刻度

Python Matplotlib:混合整数和浮点刻度,python,matplotlib,integer,axes,Python,Matplotlib,Integer,Axes,对于pyplot轴,我希望使用以下记号: ticks = [-5.0, -4, -3, -2, -1, -0.128] (这些奇怪的值是计算出来的,并将动态更改。) 但我想了解两个重要的细节:第一个和最后一个值应该是一个浮点数,以查看开头和结尾的确切值。之间的值应仅为整数,以保持可读性 为了设置刻度,我做了 axes = plt.subplot() axes.set_xticks(ticks) 我得到了我想要的,但它看起来很糟糕,因为我的整数值仍然是3位小数的浮点值 我想得到刻度-5.00

对于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,

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

多亏了,我很快就解决了这个问题。多谢各位

对于其他有相同问题的人:

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

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

我认为这有助于理解刻度始终是浮点数。你甚至不能改变这一点。但标签总是字符串;所以它们可以是你喜欢的任何东西(
“0”、“季度”、“昨天”、“500.001”、“ülügü”
)。您可以通过
setxticks
设置刻度,也可以通过
setxticklabels
设置标签。(只要确保始终设置刻度,以防设置标签-相反的设置并不重要)