matplotlib 中使用 Latex 包装器的 x 标签:space 字符消失

x label in matplotlib using Latex wrapper: the space characther disappears

我想设置部分文本的x轴粗体和其他部分普通字体(非粗体)。我尝试使用 matplotlib 的 Latex 包装器(有效),但 space 字符串 xlabel bold (在 xlabel 和粗体之间)消失了。我该如何解决这个问题?

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
#ax.set_xlabel(r'$\mathbf{xlabel bold}$ - ' + r'xlable not bold')
ax.set_xlabel(r'$\bf{xlabel bold}$ - ' + 'xlable not bold')

plt.show()

给你:

ax.set_xlabel(r'$\bf{xlabel \ bold}$ - ' + 'xlable not bold')

或者你可以使用这个:

ax.set_xlabel(r'$\bf{xlabel}$ $\bf{bold}$ - ' + 'xlable not bold')

或者您可以使用一个简单的函数:

import matplotlib.pyplot as plt
fig, ax = plt.subplots()

def bold_text(text):
    new_text = text.replace(' ', r'}$ $\bf{')
    new_text = r'$\bf{'+ new_text + r'}$'
    return new_text

new_text = bold_text('this is some bold text')
ax.set_xlabel(new_text + ' - ' + 'xlable not bold')
plt.show()

如需更多选项,您可以访问: https://www.overleaf.com/learn/latex/Spacing_in_math_mode