如何在Matplotlib中使公式标注文本显示为粗体?
如何在Matplotlib中使公式标注文本显示为粗体?
嘿,我完全懂你遇到的困扰!你之前用\textbf没效果是因为它是给普通文本加粗的LaTeX命令,对数学环境里的公式压根不起作用~ 要给Matplotlib里的公式标注加粗,得用数学模式专属的粗体命令才行,下面给你两种靠谱的方法:
方法一:用\mathbf包裹数学表达式
\mathbf是LaTeX里专门给数学符号、公式加粗的命令,你只需要把整个数学公式放在\mathbf里,同时保持数学环境的$符号就行。另外顺便提个小细节:你之前写的\sqrt(2)其实应该改成\sqrt{2},这是LaTeX的标准语法哦。
修改后的代码片段如下:
ax.annotate( r"$\mathbf{y = -\,\frac{1}{\sqrt{2}}x + 1}$", xy=(0.2, 0.7), rotation=-35, fontsize=12 )
方法二:用\boldmath全局加粗数学环境
如果你想一次性给整个数学环境里的内容都加粗,也可以用\boldmath命令,用法如下:
ax.annotate( r"$\boldmath y = -\,\frac{1}{\sqrt{2}}x + 1$", xy=(0.2, 0.7), rotation=-35, fontsize=12 )
完整测试代码
把你的原代码修改后,完整版本是这样的:
import numpy as np import matplotlib.pyplot as plt plt.rcParams['text.usetex'] = True fig, ax = plt.subplots(figsize=(6, 4)) point1 = [0, 1] point2 = [np.sqrt(2), 0] x_values = [point1[0], point2[0]] y_values = [point1[1], point2[1]] ax.plot(x_values, y_values, 'bo', linestyle="-") # 这里用\mathbf的写法 ax.annotate( r"$\mathbf{y = -\,\frac{1}{\sqrt{2}}x + 1}$", xy=(0.2, 0.7), rotation=-35, fontsize=12 ) plt.show()
这样修改后,你的公式标注就能正常显示为粗体啦~
内容来源于stack exchange




