这听起来像一个简单的问题,但我没有找到任何有效的解决方案来改变用python中的matplotlib制作的图中的字体(而不是字体大小)。如何更改matplotlib(python)中的字体?
我发现一对夫妇教程通过在matplotlib存储其默认字体文件夹修改某些文件来改变matplotlib的默认字体 - 见this blog post - 但我期待一个不太激进的解决方案,因为我想用更多比我的情节(文字,标签,轴标签等)中的一种字体。
这听起来像一个简单的问题,但我没有找到任何有效的解决方案来改变用python中的matplotlib制作的图中的字体(而不是字体大小)。如何更改matplotlib(python)中的字体?
我发现一对夫妇教程通过在matplotlib存储其默认字体文件夹修改某些文件来改变matplotlib的默认字体 - 见this blog post - 但我期待一个不太激进的解决方案,因为我想用更多比我的情节(文字,标签,轴标签等)中的一种字体。
假设您希望漫画Sans为标题,Helvetica为x标签。
csfont = {'fontname':'Comic Sans MS'}
hfont = {'fontname':'Helvetica'}
plt.title('title',**csfont)
plt.xlabel('xlabel', **hfont)
plt.show()
我尝试过,它的工作原理!这正是我所期待的。但是,对于某些字体,我有以下错误消息(不是所有):'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/font_manager.py:1236:UserWarning :findfont:未找到字体家族['Helvetica']。回落到Bitstream Vera Sans (prop.get_family(),self.defaultFamily [fontext]))'。我如何在matplotlib已知的字体集中安装Helvetica? – SirC
找到fontList.cache文件,只能使用那里列出的那些文件。或者看看这里http://stackoverflow.com/questions/20206906/matplotlib-fonts-in-enthought-canopy –
跟进上述评论。要找到你的fontList.cache文件,使用 matplotlib.get_cachedir() –
import pylab as plb
plb.rcParams['font.size'] = 12
或
import matplotlib.pyplot as mpl
mpl.rcParams['font.size'] = 12
令人难以置信的是,这正是我正在寻找的命令。绝对不是OP要求的 – blue
您还可以使用rcParams
在全球范围内改变字体的家庭。
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = "cursive"
# This will change to your computer's default cursive font
的matplotlib的字体系列参数列表是here。
我更喜欢使用:
from matplotlib import rc
#rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
rc('font',**{'family':'serif','serif':['Times']})
rc('text', usetex=True)
高兴它帮助:)你能后导致此错误的代码?我自己没有看到这个错误,但这里有一些链接可以帮助你。 http://matplotlib.1069221.n5.nabble.com/how-to-use-different-font-for-serif-td10084.html http://matplotlib.1069221.n5.nabble.com/Fonts-not-found -td12936.html – aidnani8
产生问题的代码是: 'hfont = {'fontname':'Helvetica'} plt.annotate('Country',(0.17,0.95),xytext = None,xycoords ='figure fraction ',size = 28,color ='red',horizontalalignment ='left',** hfont)' ,错误是'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site- packages/m atplotlib/font_manager.py:1236:UserWarning:findfont:未找到字体家族['Helvetica']。回落到比特流Vera Sans(prop.get_family(),self.defaultFamily [fontext]))' 而不是如果我使用字体名称Comic Sans MS在你的例子中,代码的作品。 – SirC