-1

を使用して、1 つ下の 3 つのグラフを取得したいと思い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を表示したいときにエラーが発生します。提案?FB

4

1 に答える 1

4

問題は、端末を設定していないことです。Gnuplot は出力を x11 端末 (またはデフォルトで設定したもの) に送信するだけです。デフォルトの端末が ではない場合svg、エラーが発生します。ファイルが存在しないか、エンコーディングのタイプがsvg拡張子と一致しません。

g("set terminal svg")直前に追加するg("set output 'filename.svg'")と、準備が整います。

于 2012-05-15T13:44:23.890 に答える