-1

我想得到三个图表,一个在一个之下,使用multiplot.

我试过:

#! /usr/bin/env python
from numpy import *
import Gnuplot as gp
import Gnuplot.funcutils

x = (1,2,3)
y=(2,4,5)
x1 = (3,6,8)
g = gp.Gnuplot()
g("set output 'filename.svg'")
g("unset xtics")
g("unset ytics")
g("set size 200,200")
g("set bmargin 0")
g("set tmargin 0")
g("set lmargin 0")
g("set rmargin 0")

g("set multiplot")
#First
g("set origin 0.1,0.1")
d = gp.Data(x,y,with_="linespoints")
g.plot(d)
#Second
g("set origin 0.1,50")
d1 = gp.Data(x1,y,with_="linespoints")
g.plot(d1)
# Third
g("set origin 0.1,100")
d2 = gp.Data(y,x,with_="linespoints")
g.plot(d2)
g("unset multiplot")

http://t16web.lanl.gov/Kawano/gnuplot/plot3-e.html开始

但是当我想显示创建的 svg 时出现错误。建议?脸书

4

1 回答 1

4

问题是您没有设置终端。Gnuplot 只是将输出发送到 x11 终端(或任何您配置为默认的终端)。如果您的默认终端不是svg,那么您将收到一个错误 - 文件不存在,编码类型与svg扩展名不匹配。

g("set terminal svg")之前添加g("set output 'filename.svg'"),你应该都准备好了。

于 2012-05-15T13:44:23.890 回答