我想创建一个轴标题,其中部分标题以粗体显示。例如,我正在比较两个数据集并计算R ^ 2,如果有统计显着性,我想在标题中打印R ^ 2粗体。到目前为止,我只能使整个标题变得粗体。
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax1 = plt.subplot()
# example R^2
r1 = np.random.random()
ax1.set_title('part of title that should not be bold, $R^2$: {0}'.format(np.around(r1, 3)), weight='bold')
我只想要后的数字" R ^ 2"大胆。
谢谢!
编辑:
下面的答案建议使用粗体MathText,例如:r" $ \ bf {0.333} $"。这会导致乳胶风格的数字,但它仍然不是粗体。 以下是粘贴到新的ipython会话中的代码,结果如下:
答案 0 :(得分:2)
以下内容似乎仅适用于matplotlib第2版或更高版本。
可以在标题中使用粗体MathText使文本的一部分变为粗体,例如r"$\bf{0.333}$"
。请注意,这是一个原始字符串(r""
)。如果我们想用括号格式化字符串,则必须进行双重转义,
`r"$\bf{{{x}}}$".format(x=0.333)`
完整示例:
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax1 = plt.subplot()
# example R^2
r1 = np.random.random()
ax1.set_title(r'non-bold part of title, $R^2$: $\bf{{{a}}}$'.format(a=np.around(r1, 3) ) )
plt.show()