【问题标题】:Use ticklabels with different weights使用不同权重的刻度标签
【发布时间】:2020-06-05 10:15:41
【问题描述】:

是否可以在同一个标​​签内创建具有不同字体粗细的刻度标签?在下面的 MWE 中,我希望每个 xticklabel 的第一行以粗体显示,第二行以正常显示。我很高兴有任何建议。

import matplotlib.pyplot as plt

plt.plot(range(3), marker='o', lw=0)
plt.gca().set_xticks(range(3))
plt.gca().set_xticklabels(['\n'.join(['bold', 'normal'])] * 3)  # , fontdict={'weight': 'bold'})
plt.show()

【问题讨论】:

    标签: python-3.x matplotlib


    【解决方案1】:

    您可以在 matplotlib 中使用 LaTex 文本 (docs)

    import matplotlib.pyplot as plt
    plt.rc('text', usetex=True)
    # plt.rc('text.latex', preamble=r'\usepackage{sfmath}')  # use sans-serif text
    
    plt.plot(range(3), marker='o', lw=0)
    plt.gca().set_xticks(range(3))
    plt.gca().set_xticklabels(['$\\textbf{bold}$ \n normal']*3)
    plt.show()
    

    【讨论】:

    • 使用这个时是否可以保持原图的字体类型和大小? (为了不同数字之间的一致性)
    • 查看thisthis 问题。我编辑了我的答案;如果您取消注释添加的行,您应该更接近您想要的结果
    猜你喜欢
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    • 2016-02-19
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    相关资源
    最近更新 更多