2012-05-23 107 views
7

我找不到這個主題的另一個線程或文檔 - 有沒有人成功強調pythons matplotlib包中的下劃線?我使用的語法是這樣的所有其他屬性:下劃線Python/Matplotlib中的文本

plt.text(0.05, 0.90, 'Parameters: ', fontsize=12) 

但是,我想不出如何強調實際編碼線到文件本文短。

想法?

回答

11

Matplotlib可以使用LaTeX處理所有文本,詳細信息請參見文檔this page。 LaTeX中用於加下劃線文字的命令僅爲\underline。來自示例腳本之一的文檔字符串:

如果設置rc參數text.usetex,則可以使用TeX渲染所有matplotlib文本。這項工作目前適用於aggps後端,並且要求您已在系統上正確安裝了tex和其他依賴關係http://matplotlib.sf.net/matplotlib.texmanager.html。第一次運行腳本時,會看到tex和相關工具的大量輸出。接下來的時間,運行可能是沉默的,因爲有很多的信息在〜/ .tex.cache

所以,作爲一個簡單的例子,我們可以做

import matplotlib.pyplot as plt 
from matplotlib import rc 

rc('text', usetex=True) 

plt.sunplot(111) 

plt.text(0.05, 0.90, r'\underline{Parameters}: ', fontsize=12) 

得到下劃線的文本緩存。

+0

嗨克里斯,優雅的解決方案。我能夠以這種方式得到下劃線,但將usetex更改爲True也會影響圖中其餘的文本(例如,將情節的座標軸編號變爲serif,而其他粗體文本變爲非粗體)。我認爲我會必須將所有這些改成tex格式,對嗎? – nodapic

+0

通常我可以使用不帶'rc'的LaTeX命令(這是我認爲會導致所有其他文本呈現不同的效果)。不過,我似乎需要在我的Windows機器上(通常我在Linux機器上工作,不知道這是否是一個問題)。給它一個沒有這條線,看看'plt.text'調用仍然有效。 – Chris

+0

我發現如果我不使用'plt.text',即'plt.xlabel','plt.title'等工作正常,我可以不使用*調用'rc'來使用LaTeX命令。它似乎只是'plt.text',需要我配置'rc'。如果你發現你需要使用'rc',你還可以設置你想要使用的字體等。 – Chris