我正在使用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...')
,那么错误就会消失。
根据this Gnuplot tutorial,\n
确实是在Gnuplot中进行多行标签的有效方式。例如,教程建议这样做:
set title "This is the title\n\nThis is the x2label"
答案 0 :(得分: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拦截换行符。