python中文字体奇怪_“matplotlib”中对字体设置的奇怪响应
我在我的系統(OSX10.9.1)上安裝了各種字體,并且能夠在我的所有工具和應用程序(包括LaTeX安裝)中毫無問題地使用它們,但是我試圖在matplotlib(使用text.usetex=False)中指定一個特定的字體會產生意想不到的和令人困惑的結果。在
例如font = {'family': 'sans-serif',
'sans-serif': ['Open Sans', 'Avenir', 'sans-serif']}
plt.rc('font', **font)
結果既沒有使用opensans也沒有使用Avenir,盡管指定了一個大小(例如,'size': 20)會按預期更改大小。在
奇怪的是,指定一個權重不僅會改變權重,還會導致字體發生變化。例如
^{pr2}$
似乎導致了使用opensan(但看起來像是額外加粗而不是加粗)。如果我把重量設置為550或更大,我會得到相同的效果;而任何一個較小的結果都會導致錯誤的字體。我在其他字體(例如。。Sika或Gill Sans),不管字體是OT、TT,還是作為系統字體或用戶字體,都可以看到這一點。在
為什么matplotlib以這種奇怪的方式響應。我是否應該更改matplotlib(或Python)設置或配置選項以確保獲得預期的行為?也許還有其他方法可以指定字體的粗細嗎?在
FWIW,下面是Open Sans在我的字體安裝中的外觀:
所有這些都可以由Python按預期(在/Users/Rax/Library/Fonts/)找到import matplotlib.font_manager
print matplotlib.font_manager.findSystemFonts(fontpaths=None)
以及font_manager.FontProperties(fname='/Users/Rax/Library/Fonts/OpenSans-ExtraBold.ttf').get_name()
font_manager.FontProperties(fname='/Users/Rax/Library/Fonts/OpenSans-Regular.ttf').get_name()
正如預期的那樣,這兩種字體都將“Open Sans”報告為字體名稱font_manager.FontProperties(fname='/Users/Rax/Library/Fonts/OpenSans-Regular.ttf').get_weight()
報告“正常”。在
總結
以上是生活随笔為你收集整理的python中文字体奇怪_“matplotlib”中对字体设置的奇怪响应的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单人物画像_你真的理解用户画像吗?|
- 下一篇: php如何获取网址中的参数