如果 number>=10,000,则用逗号将轴数格式化为千



我试图在Python中绘制两组测量值之间的Spearman相关图。我的问题是,我希望这两个轴显示数千与逗号,但只有当他们有5个或更多的数字(例如1000应该是1000,但10000应该是10000)。很抱歉,我不能把数据和图表都贴出来,因为这是科学资料。

这是我试过的一段代码:

a.get_xaxis().set_major_formatter(matplotlib.ticker.FuncFormatter(lambda x, p: format(int(x), ',')))
a.get_yaxis().set_major_formatter(matplotlib.ticker.FuncFormatter(lambda x, p: format(int(x), ',')))

但显然它对所有的数字都有效。

我觉得应该是这样的:

a.get_yaxis().set_major_formatter(matplotlib.ticker.FuncFormatter(lambda x, p: '{:,}'.format(x)))

由于format是字符串

的方法

最新更新