You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在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

火山引擎 最新活动