同一 Matplotlib 标签中的多种字体大小
Multiple font sizes in same Matplotlib label
我正在尝试做一些相对简单的事情:
我希望能够增加一个字母的字体(比如一个 LaTeX 变量,比如 30)并使标签中的其他字母保持某种字体(比如 20)。
有人有快速的解决办法吗?这对我来说似乎相当复杂。我尝试对标签
中的每个“项目”使用 { }
plt.plot(a,b,'g',linewidth=3.5, label = 'a')
plt.plot(c,d,'r',linewidth=3.5, label = 'c')
plt.legend(labelspacing = 1.0,loc=1,prop={'size':40})
plt.xlabel({'a',fontsize=50},{ 'N',fontsize = 20})
plt.ylabel('%',fontsize =30)
一个解决方案是使用 text() 并进行多次调用,仔细选择每个字母的位置:
import pylab as plt
a=[0,1]
b=[0,1]
plt.plot(a,b,'g',linewidth=3.5, label = 'a')
plt.rc('text', usetex=True)
plt.legend(labelspacing = 1.0,loc=1,prop={'size':40})
plt.text(0.45,-0.08,'a',fontsize=50)
plt.text(0.53,-0.08, 'N',fontsize = 20)
这并不理想。另一种选择是通过 LaTeX。查看我即将 post.
的其他答案
这是 LaTeX 的解决方案。我的机器没有安装 LaTeX,所以我没有仔细测试过。
plt.plot(a,b,'g',linewidth=3.5, label = 'a')
plt.rc('text', usetex=True)
plt.legend(labelspacing = 1.0,loc=1,prop={'size':40})
plt.xlabel(r'{\fontsize{50pt}{3em}\selectfont{}a}{\fontsize{20pt}{3em}\selectfont{}N')
(注意字符串前的 r
。这告诉 pylab 将字符串作为原始字符串直接发送到 LaTeX,而不是将 \f 和 \s 视为特殊字符)
您可以使用 LaTeX 的大小命令进行更精细的操作(您可以指定实际字体,或使用各种版本的 \large、\Large、\small \tiny ... 命令)。
我正在尝试做一些相对简单的事情:
我希望能够增加一个字母的字体(比如一个 LaTeX 变量,比如 30)并使标签中的其他字母保持某种字体(比如 20)。
有人有快速的解决办法吗?这对我来说似乎相当复杂。我尝试对标签
中的每个“项目”使用{ }
plt.plot(a,b,'g',linewidth=3.5, label = 'a')
plt.plot(c,d,'r',linewidth=3.5, label = 'c')
plt.legend(labelspacing = 1.0,loc=1,prop={'size':40})
plt.xlabel({'a',fontsize=50},{ 'N',fontsize = 20})
plt.ylabel('%',fontsize =30)
一个解决方案是使用 text() 并进行多次调用,仔细选择每个字母的位置:
import pylab as plt
a=[0,1]
b=[0,1]
plt.plot(a,b,'g',linewidth=3.5, label = 'a')
plt.rc('text', usetex=True)
plt.legend(labelspacing = 1.0,loc=1,prop={'size':40})
plt.text(0.45,-0.08,'a',fontsize=50)
plt.text(0.53,-0.08, 'N',fontsize = 20)
这并不理想。另一种选择是通过 LaTeX。查看我即将 post.
的其他答案这是 LaTeX 的解决方案。我的机器没有安装 LaTeX,所以我没有仔细测试过。
plt.plot(a,b,'g',linewidth=3.5, label = 'a')
plt.rc('text', usetex=True)
plt.legend(labelspacing = 1.0,loc=1,prop={'size':40})
plt.xlabel(r'{\fontsize{50pt}{3em}\selectfont{}a}{\fontsize{20pt}{3em}\selectfont{}N')
(注意字符串前的 r
。这告诉 pylab 将字符串作为原始字符串直接发送到 LaTeX,而不是将 \f 和 \s 视为特殊字符)
您可以使用 LaTeX 的大小命令进行更精细的操作(您可以指定实际字体,或使用各种版本的 \large、\Large、\small \tiny ... 命令)。