簡體   English   中英

同一個 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)

這是 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM