簡體   English   中英

帶有text.usetex'true'的Axes字體不使用set font

[英]Axes fonts with text.usetex 'true' does not use set font

我將matplotlibrc param文件中的字體樣式設置為Helvetica(sans serif),並將text.usetex設置為'True',但軸字體使用serif字體。 如何讓軸字體使用sans serif?

有時候改變.matplolibrc是不夠的。 例如,在OS X中,Helvetica默認安裝,但存儲為.dfont文件,Matplotlib無法訪問。 如果是這種情況,您需要將其轉換為.ttf並將其放在正確的文件夾中,以便matplotlib可以看到它。 請看這里了解更多詳情。

這樣的事情可以幫助您解決問題:

import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager

path = '/home/username/Helvetica.ttf'
prop = font_manager.FontProperties(fname=path)
mpl.rcParams['font.family'] = prop.get_name()

fig, ax = plt.subplots()
ax.set_title('Test text', fontproperties=prop, size=40)

要查看可用的所有字體:

import matplotlib.font_manager
print matplotlib.font_manager.findSystemFonts(fontpaths=None)

我也遇到了這個問題,它通過為字體本身設置一個額外的rcparam來解決。 即使用此代碼給出了您描述的問題:

import matplotlib.pyplot as plt
params = {
'text.usetex': True,
'font.family': 'sans'
}
plt.rcParams.update(params)

通過設置'font.sans'選項進行修改解決了我的問題:

import matplotlib.pyplot as plt
params = {
'text.usetex': True,
'font.family': 'sans',
'font.sans': 'cm'
}
plt.rcParams.update(params)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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