图中带颜色的LaTeX标签

4 投票
1 回答
2433 浏览
提问于 2025-04-18 09:29

我想给x轴的标签上色,但我不知道该怎么做。问题是我想用LaTeX字体和“amsmath”这个包。

我的代码是:

import math
import numpy as np
import matplotlib.pyplot as plt


x,y=np.random.rand(20),np.random.rand(20)


plt.figure()

plt.rc('text', usetex=True)
plt.rcParams['text.latex.preamble']=[r"\usepackage{amsmath}"]


plt.plot(x,y,'.')




plt.xlabel(r'$x=\frac{\text{red}}{\text{blue}}$')
plt.ylabel(r'$y$')

#plt.savefig('colored_labels.png')

plt.show()

在这里输入图片描述

有没有人知道怎么把x轴的颜色调得更明显一些?

提前谢谢大家!

1 个回答

1

我觉得这里的问题可能出在Latex的使用上。你的命令\text是Latex中的一个命令,用于在公式中设置文本,它并不提供任何颜色。

虽然我没有在Python中试过,但我建议你试着在Latex中加载xcolor这个包:

plt.rcParams['text.latex.preamble']=[r"\usepackage{xcolor}"]

这样你就可以使用xcolor的\color命令了:

plt.xlabel(r'$x=\frac{ \color{red}{red text} }{ \color{blue}{blue text} }$')

虽然我在Python中没有测试过,但你甚至可以在这个基础上使用\text命令来获得更好的效果:

plt.xlabel(r'$x=\frac{ \text{\color{red}{red text}} }{ \text{\color{blue}{blue text}} }$')

至少这段代码中的Latex部分是有效的,可以给你想要的结果。

如果你试过了,告诉我结果怎么样!

撰写回答