[英]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)
這是 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 ... 命令的各種版本)。
一種解決方案是使用 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。 查看我即將發布的其他答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.