首页 > 解决方案 > ax.set_yticklabels 将刻度显示为长小数

问题描述

我想用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()

在此处输入图像描述

如何摆脱刻度标签中的长小数?

标签: pythonnumpymatplotlibdecimal

解决方案


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

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


推荐阅读