【问题标题】:matplotlib negative numbers on tick labels displayed as boxes刻度标签上的 matplotlib 负数显示为框
【发布时间】:2017-03-29 19:30:27
【问题描述】:

我正在使用 matplotlib 为报告生成图表,并指定我自己的样式表来指定文本格式以符合报告的指定文档样式。在我的 .mplstyle 样式表中,我指定字体系列如下:

font.family : Tw Cen MT

到目前为止,这对所有事情都很好,除非我有带负数的刻度标签。对于刻度标签上的负数,减号将显示为带有此字体的框。使用默认字体系列它可以正常工作,但我需要使用 Tw Cen MT 字体系列。

有没有办法以正确显示负数的方式使用 Tw Cen MT 字体系列?

或者,有没有办法为刻度标签指定不同的字体。

在我的 Python 脚本中,我将刻度设置如下: ax2.set_yticks([-3, -2, -1, 0, 1, 2, 3], minor=False)

【问题讨论】:

    标签: python matplotlib fonts


    【解决方案1】:

    您使用的字体可能没有实现 unicode 减号。
    虽然我强烈建议不要使用没有基本 unicode 符号的字体,但您可以通过使用 normal hyphen instead 来解决这个问题。

    在你的 mplstyle 文件中添加一行

    axes.unicode_minus  : False
    

    或使用

    plt.rcParams['axes.unicode_minus'] = False
    

    如链接示例中所示。

    【讨论】:

    • 我将该行添加到 mplstyle 文件中,从而解决了问题。感谢您的帮助。
    猜你喜欢
    • 2022-01-01
    • 1970-01-01
    • 2021-11-17
    • 2015-09-02
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    相关资源
    最近更新 更多