0

我正在使用GnuplotPy接口从 Python 内部使用 Gnuplot。我发现当我在 GnuplotPy 调用中有换行符时,GnuplotPy 会抱怨。例如:

import Gnuplot
gp = Gnuplot.Gnuplot(persist = 1)
gp('set title "My plot title is very long, \n so it needs two lines"')
...
gp.plot(...)

上面的代码在运行时会抛出以下错误:

gnuplot> so it needs two lines
     ^
     line 0: invalid command

并且,上面的代码输出了一个只显示标题第一行的图,但该图在其他方面是正确的。如果我删除行\n中的gp('set title...'),那么错误就会消失。


根据这个 Gnuplot tutorial\n确实是在 Gnuplot 中做多行标签的有效方法。例如,本教程建议这样做:

set title "This is the title\n\nThis is the x2label"
4

1 回答 1

4

gnuplot 和 python 都将 2 字符序列 ( \n) 作为换行符。正在发生的事情是,python 正在拦截您\n并将其转换为 gnuplot 阻塞的文字换行符。尝试使用原始字符串:

gp(r'set title "My plot title is very long, \n so it needs two lines"')
#  ^ The leading r makes it a raw string.

这将防止 python 拦截你的换行符。

于 2012-11-27T07:10:03.077 回答