如何在matplotlib中设置坐标轴数值千位分隔符为空格格式
错误原因
format()的千位分隔符格式化规则仅对数值类型生效,你提前将x转为字符串类型,无法触发对应格式化逻辑- 空格不能直接作为格式符传入
format()实现千位分隔效果
解决方案
推荐使用兼容性最高的替换写法,所有Python版本都可正常运行:
ax1.get_yaxis().set_major_formatter( matplotlib.ticker.FuncFormatter(lambda x, p: format(int(x), ',').replace(',', ' ')) )
该写法先生成带逗号的千位分隔符字符串,再将逗号统一替换为空格,完全适配matplotlib的刻度渲染规则,不会出现运行异常。
内容的提问来源于stack exchange,提问作者Henri
相关产品推荐
相关产品推荐

