首页 > 解决方案 > 如何将乳胶字体仅用于标题而不用于matplotlib上的轴号

问题描述

真的很抱歉,从昨天开始就一直在搜索这个,我还没有看到类似的问题。

图有点大,所以我只贴一些相关的部分:

plt.rcParams.update({
    "text.usetex": True})



font = {'family': 'serif', 'serif': ['Computer Modern'],
        'weight' : 'bold',
        'size'   : 22}

matplotlib.rc('font', **font)

fig = plt.figure(figsize=(15,12))
# set height ratios for subplots
gs = gridspec.GridSpec(5,1, height_ratios=[1, 1, 1, 1, 1]) 

ax0 = plt.subplot(gs[0])


line0, = ax0.plot(xnew, uf_sm(xnew), color='r', linewidth=2.5)
plt.title("\\boldmath$u _\phi$",fontsize=30)
ax0.set_yticks([0.0, 0.3, 0.6])

现在,有了这个字体功能,除了一件事之外,一切都正常工作:bold不起作用,并且轴号(在刻度旁边)非常微弱,并且在 pdf 上看起来不太好。

我已经看到这里没有bold乳胶的选择,所以有没有办法我可以

  1. 仅在标题上使用乳胶(因此我可以将轴上的数字加粗)

或者

  1. 继续使用乳胶,但以某种方式使用更好的字体来获得“更强”的轴数。

真的很感谢你的时间,希望它不是那么难。

在标题中不使用乳胶,我可以使用,$$但我得到了这个:一个

另一方面,当使用usetex= True我得到这个你:在此处输入图像描述

这实际上是我想要的

标签: pythonmatplotlibplotlatex

解决方案


这个怎么样?

fig, ax = plt.subplots()
x = np.arange(5)
ax.scatter(x,x)
ax.set_title(r'$\sum \ \alpha \beta \gamma \ this \ is \ \frac{title}{in \ LaTeX} $')
ax.set_xlabel('xaxis label is not in latex')
ax.set_ylabel('yaxis label is not in latex as well')

输出:

在此处输入图像描述


推荐阅读