我知道标题没有任何意义。但是,我试图在这里解释我的需求。我有一个带有以下标签的图。
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。
答案 0 :(得分:2)
在python 3.6.5
和matplotlib 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()