在字符串中间更改文本样式

时间:2013-09-03 15:29:35

标签: matplotlib

我正在试图弄清楚如何在字符串中途改变字体样式。到目前为止,我提出的最好的方法是弄乱horizontalalignment参数:

self.ax.text(0.7, 0.1, 'BOLD', style='italic', weight='bold', 
             horizontalalignment='right', 
             transform=self.ax.transAxes, size=24)
self.ax.text(0.7, 0.1, ' ITALIC', style='italic', 
             horizontalalignment='left', 
             transform=self.ax.transAxes, size=24)

但这看起来很难看,更重要的是它不是很强大:假设我想要三种风格,那么什么?是不是有办法在中途改变风格?

1 个答案:

答案 0 :(得分:2)

一种选择是使用LaTeX:

fig, ax = subplots()
x = linspace(0, 2 * pi, 1000)
y = sin(x)
ax.plot(x, y)
rc('text', usetex=True)
ax.annotate(r'$\sin$ wavez is \textbf{N}\textit{e}ato', (3, 0.1), size=15)

enter image description here