ax.set_yticklabels 将刻度显示为长小数

ax.set_yticklabels shows ticks as long decimals

我想用ax.set_yticklabels修改绘图的字体大小。 但是,我得到一个带有很多小数位的奇怪数字。

我的代码有点像这样:

import matplotlib.pyplot as plt

ax = plt.subplot()
ax.plot(np.arange(10), np.arange(10)*0.1)
ax.set_yticks(np.arange(10)*0.1)
ax.set_yticklabels(np.arange(10)*0.1, fontdict={'size':'14'})
plt.tight_layout()
plt.show()

如何去掉刻度标签中的长小数?

ax.set_yticklabels(['{:.2f}'.format(a) for a in np.arange(0,11,0.1)], fontdict={'size':'14'})

这是由于浮点数和字符串之间的转换。您可以通过自己进行转换来控制格式,例如使用 string formatting functions.