matplotlib 中文本的部分着色

新手上路,请多包涵

matplotlib 中有没有办法部分指定字符串的颜色?

例子:

 plt.ylabel("Today is cloudy.")

我怎样才能将“今天”显示为红色,“是”显示为绿色和“多云”。作为蓝色?

原文由 Gökhan Sever 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 458
1 个回答

我只知道如何以非交互方式执行此操作,即使那样也只能使用“PS”后端。

为此,我会使用 Latex 来格式化文本。然后我会包含“颜色”包,并根据需要设置颜色。

这是一个这样做的例子:

 import matplotlib
matplotlib.use('ps')
from matplotlib import rc

rc('text',usetex=True)
rc('text.latex', preamble='\usepackage{color}')
import matplotlib.pyplot as plt

plt.figure()
plt.ylabel(r'\textcolor{red}{Today} '+
           r'\textcolor{green}{is} '+
           r'\textcolor{blue}{cloudy.}')
plt.savefig('test.ps')

这导致(使用 ImageMagick 从 ps 转换为 png,所以我可以在这里发布):在此处输入图像描述

原文由 Yann 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题