我希望能夠將.ttf
文件放置在本地文件夾中,並將Matplotlib配置爲在該文件夾中查找字體,如果在正常系統文件夾中找不到它們。 This previous answer顯示瞭如何指向任何目錄中的特定字體。下面是答案代碼:如何配置matplotlib能夠從本地路徑讀取字體?
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager
path = '/usr/share/fonts/truetype/msttcorefonts/Comic_Sans_MS.ttf'
prop = font_manager.FontProperties(fname=path)
mpl.rcParams['font.family'] = prop.get_name()
fig, ax = plt.subplots()
ax.set_title('Text in a cool font', size=40)
plt.show()
這樣做的問題是,我想有這樣我想要的Helvetica每次做(或在這種情況下,Comic Sans字體)在我的陰謀。我相信另一種解決方案是將ttf文件複製到類似~/anaconda/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf
的東西中,但我不希望觸摸這些東西並將文件放置在本地,以便在更新matplotlib時它們不會消失,因此更容易將配置跨同步機器。我覺得應該有一些方法來在我的~/.matplotlib/matplotlibrc
文件中配置matplotlib,這樣如果我使用Helvetica,我不必每次都提供路徑。如何將.ttf
文件放置在自定義目錄中(或者至少有一個對python或matplotlib更新是安全的),並且每次繪圖時都不必重新輸入文件路徑?
獎勵積分,如果解決方案允許我到一個相對路徑使用由import matplotlib; matplotlib.get_configdir()
返回的目錄,因爲我的一些機器,是~/.config/matplotlib
;以及一些它的~/.matplotlib
。
嗯,這是MATLAB和Python,所以爲什麼不把一個叫做'loadfonts.py'文件,它爲需要的時候從一個共同的位置加載任意字體的功能,然後在你正在做的任何工作中使用它,就像你已經(無疑)導入其他工具包一樣? –