代码之家  ›  专栏  ›  技术社区  ›  Torin M.

格式matplotlib图形记号

  •  1
  • Torin M.  · 技术社区  · 8 年前

    我使用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轴的滴答声以$$开头,以十进制结尾。谢谢您。

    1 回复  |  直到 8 年前
        1
  •  1
  •   mostlyoxygen    7 年前

    你可以使用 StrMethodFormatter 类,给它一个使用相同 mini-language 像蟒蛇一样 str.format() 功能。

    在本例中,格式字符串以美元符号开头,以小数结尾,将是 "${x:.2f}" 是的。这个 x 标记字段 标准格式 类允许格式字符串中的两个字段: 为了价值和 pos 为了这个职位。

    代码中的最后一行将变成:

    a.get_yaxis().set_major_formatter(matplotlib.ticker.StrMethodFormatter("${x:.2f}"))
    

    如果你想要更多或更少的小数位,只要改变数字 2 是的。如果要保留数千个分隔符,请在冒号后添加逗号: "${x:,.2f}" 是的。