我使用matplotlib和tkinter来显示图形。我试图改变我的Y轴蜱的格式,以适应图表的需要。这是我试过的。
a.set_title('Ending AUM') a.set_xlabel('Dates') a.set_ylabel('Ending AUM ($)') a.grid(True) a.get_yaxis().set_major_formatter(matplotlib.ticker.FuncFormatter(lambda x, p: format(int(x), ',')))
但是,这会将刻度格式化为带逗号的整数(以千为单位)。显示在这里。
我怎么格式化这个,所以y轴的滴答声以$$开头,以十进制结尾。谢谢您。
你可以使用 StrMethodFormatter 类,给它一个使用相同 mini-language 像蟒蛇一样 str.format() 功能。
StrMethodFormatter
str.format()
在本例中,格式字符串以美元符号开头,以小数结尾,将是 "${x:.2f}" 是的。这个 x 标记字段 标准格式 类允许格式字符串中的两个字段: 十 为了价值和 pos 为了这个职位。
"${x:.2f}"
x
标准格式
十
pos
代码中的最后一行将变成:
a.get_yaxis().set_major_formatter(matplotlib.ticker.StrMethodFormatter("${x:.2f}"))
如果你想要更多或更少的小数位,只要改变数字 2 是的。如果要保留数千个分隔符,请在冒号后添加逗号: "${x:,.2f}" 是的。
2
"${x:,.2f}"