我正在创建一个要在Python中使用matplotlib保存为PDF的图形。 (仅)图形标题的第一个字母需要加粗,并使用特定的(自定义)颜色。最低限度,我认为以下方法可以工作(非自定义颜色):
fig,ax = plt.subplots(1)
ax.plot(1,1)
ax.set_title(r'{\bf\color{red} A}: absquatulate')
plt.savefig('test.pdf')
但事实并非如此。
一个人可以(我找不到参考文献)使用PGF后端麻烦得多,以获得一些颜色,但是当使用r'\bf'
时,这样做会失败:
import matplotlib.pyplot as plt
pgf_with_latex = {
"text.usetex": True,
"pgf.rcfonts": False,
"pgf.preamble": [
r'\usepackage{color}',
r'\definecolor{colorB}{rgb}{ 0.1, 0.5, 0.999 }'
]
}
matplotlib.rcParams.update(pgf_with_latex)
fig,ax = plt.subplots(1)
ax.plot(1,1)
ax.set_title(r'{\bf\color{colorB} A}: absquatulate')
plt.savefig('test.pdf')
如何使\ bf \ color同时工作?
答案 0 :(得分:0)
实际上,以下工作原理(使用\bfseries
,我发现它需要单独的嵌套花括号):
#!/usr/bin/python
import matplotlib
from matplotlib.backends.backend_pgf import FigureCanvasPgf
matplotlib.backend_bases.register_backend('pdf', FigureCanvasPgf)
pgf_with_latex = {
"text.usetex": True,
"pgf.preamble": [
r'\usepackage{color}',
r'\definecolor{colorB}{rgb}{ 0.1, 0.5, 0.999 }'
]
}
import matplotlib
matplotlib.rcParams.update(pgf_with_latex)
import matplotlib.pyplot as plt
plt.figure(figsize=(2,2))
plt.plot(1,1)
plt.title(r'{ \textcolor{colorB} {\bfseries A}}: absquatulate')
plt.savefig('test.pdf')