首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >条形图用千分号分隔符对轴进行格式化

条形图用千分号分隔符对轴进行格式化
EN

Stack Overflow用户
提问于 2022-09-29 10:16:09
回答 1查看 18关注 0票数 0

我想在Power报告中显示Python图形。如何格式化Y轴标签。在瑞士,我们的数量和千分机一样多。例如:100,000。我设法用逗号进行格式化。但我需要一个单引号!!

代码语言:javascript
运行
复制
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.font_manager as font_manager
import matplotlib as mpl


labels =  dataset.cat
x = np.arange(len(labels))  # the label locatio
width = 0.35

fig, ax = plt.subplots(figsize =(45, 15))
ax2 = ax.twinx()

rects3 = ax2.bar(x + width/2 , dataset.revenue,  width,  color='#FFB700', label='revenue')
rects1 = ax.bar(x - width/2, dataset.ord, width,  color='#00A1E4',  label='east')
rects2 = ax.bar(x - width/2, dataset.bag,  width, color='#D9D9D9',  label='west', bottom=dataset.ord,)

ax.set_xticks(x)
ax.set_xticklabels(labels)

ax.yaxis.set_tick_params(pad = 5)
ax.yaxis.set_label_coords(-0.03,0.5)
ax2.yaxis.set_label_coords(1.07,0.5)
ax.xaxis.set_tick_params(pad = 7)

ax2.yaxis.set_major_formatter(mpl.ticker.StrMethodFormatter('{x:,.0f}'))

plt.show()

谢谢你的意见

EN

Stack Overflow用户

回答已采纳

发布于 2022-09-29 11:09:22

总之,使用FuncFormatter替换char就可以了。

代码语言:javascript
运行
复制
ax.yaxis.set_major_formatter(mpl.ticker.FuncFormatter(lambda x, p: format(int(x), ',').replace(',','\'')))
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73893848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档