如何调整括号大小并在matplotlib标签中部分设置标签的字体和大小?

时间:2018-10-30 20:54:08

标签: python python-2.7 matplotlib label

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

using System;

namespace ConsoleApp1
{
    public interface IVehicle
    {
        void StartEngine();
    }

    public abstract class Fuel
    { }

    public class Diesel : Fuel
    { }

    public class Engine<F>
    {    
        public void Start()
        { }

        private void TransformFuelToEnergy()
        { }
    }    

    public class Car<T> where T : Fuel, IVehicle
    {
        private Engine<T> engine;

        public void Start()
        {
            engine.Start();
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Car<Diesel> myCar;    
        }
    }
}

对于x标签,我想将文本部分的字体更改为新的罗马字体,并将字体大小更改为较小的字体。函数plt.xlabel(r'$\tau^P_j$ (day)', fontsize=12) plt.ylabel(r'$\rho(\{j\},k^*)$', fontsize=12) 既适用于标签中的等式又适用于文本部分,尽管它们都为12,但文本部分似乎比数学部分大。

此外,我需要调整y标签中括号的大小。大括号看起来比括号大得多。我尝试了fontsize=12,但是没有运气。我正在使用Python 2.7。

1 个答案:

答案 0 :(得分:2)

python 3.6.5matplotlib 2.2.2中,一切对我来说都很好。我在下面给出一个答案来说明差异,既以轴标签也作为文本(只是为了水平显示y标签以注意到差异。

最小,完整和可验证的示例

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()

enter image description here