格式化y轴刻度文本图

问题描述 投票:-2回答:1

我的matplotlib图中y轴的刻度文本有太多十进制数字。如何格式化文本以仅显示两位小数。 I.E.我想将10.39658602转换为10.40

我已经尝试过了:

ax.get_yaxis().set_major_formatter(matplotlib.ticker.FormatStrFormatter('%5.2f'))

但十进制数字设置为0(前一个数字变为10.00)。这是一些图像。之前:

enter image description here

之后:enter image description here

编辑:我还包括一个重现问题的代码示例。

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
lineObjects = plt.plot(epochs, data1, 'rs',
                       epochs, data2, 'b^',
                       epochs, data3, 'gv',
                       epochs, data4, 'ko', ) 
# also %.2f does not work as intended
ax.get_yaxis().set_major_formatter(matplotlib.ticker.FormatStrFormatter('%5.2f'))
plt.show()

我在Anaconda上使用Python 3.6。 data1data2data3data4ndarray类型的NumPy str_s,我已经尝试将它们转换为float,但结果是相似的。

python matplotlib
1个回答
0
投票

使用此格式。

ax.yaxis.set_major_formatter(matplotlib.ticker.FormatStrFormatter('%.2f'))
© www.soinside.com 2019 - 2024. All rights reserved.