【问题标题】:How to adjust parenthesis size and set font and size of the label partially in matplotlib labels?如何在 matplotlib 标签中部分调整括号大小并设置标签的字体和大小?
【发布时间】:2019-04-03 23:53:06
【问题描述】:

我知道标题没有任何意义。但是,我试图在这里解释我需要什么。我有一个带有以下标签的情节。

plt.xlabel(r'$\tau^P_j$ (day)', fontsize=12)
plt.ylabel(r'$\rho(\{j\},k^*)$', fontsize=12)

对于 x 标签,我想将文本部分的字体更改为 times new roman 并将字体大小更改为更小。函数fontsize=12 适用于方程式和标签中的文本部分,文本部分似乎比数学部分大,尽管它们都是 12。

另外,我需要调整y标签中括号的大小。花括号看起来比括号大得多。我试过(r'$\rho\big(\{j\},k^*\big)$', fontsize=12),但没有运气。我正在使用 Python 2.7。

【问题讨论】:

    标签: python python-2.7 matplotlib label


    【解决方案1】:

    python 3.6.5matplotlib 2.2.2 对我来说一切正常。我在下面给出了一个答案来演示差异,包括轴标签和文本(只是为了水平呈现 y-label 以注意差异。

    最小、完整且可验证的示例

    import matplotlib.pyplot as plt
    from matplotlib import rc
    rc('text', usetex=True)
    plt.rcParams['text.latex.preamble']=[r"\usepackage{amsmath}"]
    fig = plt.figure(figsize=(6, 4))
    
    x = range(6)
    plt.plot(x, x)
    plt.xlabel(r'$\tau^P_j$ $\text{\small{(day)}}$', fontsize=12)
    plt.ylabel(r'$\rho\big(\{j\},k^*\big)$', fontsize=12)
    
    plt.text(1,4, r'$\rho(\{j\},k^*)$', fontsize=12)
    plt.text(1,3, r'$\rho\big(\{j\},k^*\big)$', fontsize=12)
    
    plt.text(3,2, r'$\tau^P_j$ $\text{\small{(day)}}$', fontsize=12)
    plt.text(3,1, r'$\tau^P_j$ (day)', fontsize=12)
    plt.show()
    

    【讨论】:

    • 因为这个答案旨在表明某些代码按原样工作,如果它是一个真正的minimal reproducible example 将是有益的,即具有所有非默认 rcParams 的可运行代码(如果有) 提到。可能与 OP 的情况不同的是使用 usetex?还是自定义字体设置?
    • @ImportanceOfBeingErnest:感谢您指出这一点。我编辑了我的答案。
    猜你喜欢
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 1970-01-01
    • 2012-05-11
    • 2014-04-17
    • 1970-01-01
    • 2011-02-07
    相关资源
    最近更新 更多