我试图在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
是字符串