2012-05-23 110 views
7

我找不到这个主题的另一个线程或文档 - 有没有人成功强调pythons matplotlib包中的下划线?我使用的语法是这样的所有其他属性:下划线Python/Matplotlib中的文本

plt.text(0.05, 0.90, 'Parameters: ', fontsize=12) 

但是,我想不出如何强调实际编码线到文件本文短。

想法?

回答

11

Matplotlib可以使用LaTeX处理所有文本,详细信息请参见文档this page。 LaTeX中用于加下划线文字的命令仅为\underline。来自示例脚本之一的文档字符串:

如果设置rc参数text.usetex,则可以使用TeX渲染所有matplotlib文本。这项工作目前适用于aggps后端,并且要求您已在系统上正确安装了tex和其他依赖关系http://matplotlib.sf.net/matplotlib.texmanager.html。第一次运行脚本时,会看到tex和相关工具的大量输出。接下来的时间,运行可能是沉默的,因为有很多的信息在〜/ .tex.cache

所以,作为一个简单的例子,我们可以做

import matplotlib.pyplot as plt 
from matplotlib import rc 

rc('text', usetex=True) 

plt.sunplot(111) 

plt.text(0.05, 0.90, r'\underline{Parameters}: ', fontsize=12) 

得到下划线的文本缓存。

+0

嗨克里斯,优雅的解决方案。我能够以这种方式得到下划线,但将usetex更改为True也会影响图中其余的文本(例如,将情节的坐标轴编号变为serif,而其他粗体文本变为非粗体)。我认为我会必须将所有这些改成tex格式,对吗? – nodapic

+0

通常我可以使用不带'rc'的LaTeX命令(这是我认为会导致所有其他文本呈现不同的效果)。不过,我似乎需要在我的Windows机器上(通常我在Linux机器上工作,不知道这是否是一个问题)。给它一个没有这条线,看看'plt.text'调用仍然有效。 – Chris

+0

我发现如果我不使用'plt.text',即'plt.xlabel','plt.title'等工作正常,我可以不使用*调用'rc'来使用LaTeX命令。它似乎只是'plt.text',需要我配置'rc'。如果你发现你需要使用'rc',你还可以设置你想要使用的字体等。 – Chris