2012-07-29 77 views
8

我現在用的是以下幾點:如何matplotlib陰謀刪除乳膠式數學奇怪的空間

"Pixel Radiance ($W/m^2/\mu m$)" 

但是,當我產生這個圖形爲y軸的標籤我得到下面的圖片,在m^2和\ mu之間有一個奇怪的空間,這看起來很奇怪。我怎樣才能消除這個奇怪的空間?

example graph

重複的例子,不使用任何我自己的數據是:

from matplotlib.pyplot import * 
plot([1, 2, 3], [1, 2, 3]) 
ylabel("($W/{m^2}/\mu m$)") 
+2

SI單位符號通常不應該是_italic_ – moooeeeep 2012-07-29 21:32:27

+0

雖然獲得非斜體$ \ mu $是非常棘手的。 – mikuszefski 2015-02-24 09:38:19

回答

14

可以使用負空間,\!

r"Pixel Radiance ($W/m^2\!/\mu m$)" 

順便說一句,我d推薦使用帶有LaTeX公式的原始字符串,因爲這會阻止LaTeX命令(或其中的一部分)被解釋爲反斜槓轉義符:您可能會使用w不要\tau以製表符結尾,然後au

+3

+1原始字符串暗示 – 2012-07-29 21:24:48

1

Matplotlib嘗試解釋Latex代碼並擁有自己的打印文本的方法。結果不一定匹配真正的Latex編譯器的輸出。如果您需要真正的Latex文本渲染,則必須啓用text.usetex rc參數。這也允許您加載乳膠包(如siunitx),並創建與您的文檔相匹配的數字(如果您計劃包含它們)。

使用Latex時不會出現額外空間。您可以使用解決方法並添加一個負面空間,但是我傾向於在爲文檔創建數字時使用Latex。

+0

呵呵,還有一些我的Xelatex matplotlib後臺廣告:) https://github.com/pwuertz/matplotlib-backend-pgf – pwuertz 2012-07-30 01:34:56