Pyplot制表符

16

我想在pyplot中使用制表符,但是制表符显示为一个方块,而不是我需要的制表空格。

我的代码如下:

fig = pl.figure()
fig.text(.1,.05, "test \t test", bbox=dict(facecolor='red', alpha=0.5))

有人知道为什么这个不起作用吗?

1个回答

16
我很惊讶pylab.show实际上在你的正方形位置显示了一些空格。但是savefig没有试图变得聪明,而是给出了你所描述的结果。现在,一个制表符需要占用多少个空格?这个问题没有意义。对于你而言,它是4吗?我会选择4.2。这意味着你需要决定你想要在文本中使用多少个空格来表示一个制表符,即:
fig = pylab.figure()
text = "test \t test".replace("\t", "    ")
fig.text(.1,.05, text, bbox=dict(facecolor='red', alpha=0.5))

或者,也许你想使用“标准”约定来简单地扩展你的选项卡:

text = "test \t test".expandtabs()

这是我尝试过的一个解决方案,但无法帮助标签对齐。我正在使用制表符以“清晰地”显示数据列,这是使用它们的主要好处。 - user1220022
我建议您发布一个关于如何“清晰地显示数据列”的问题,或者检查Matplotlib的画廊(http://matplotlib.org/gallery.html)并寻找您需要的内容。(解决方案不涉及制表符。) - Eric O. Lebigot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接