1

gnuplotでグラフィックを生成するPythonスクリプトがあります。しかし、私はエラーがあります:

gnuplot> plot ^ line 0:期待されるプロットを行う関数

    g=Gnuplot.Gnuplot(persist=1)
    g.title('Read&Write Performance')
    g.xlabel('minutes')
    g.ylabel('MB/s')
    g('set term png')
    g('set out')
    g('set yrange [0:70]')
    d1=Gnuplot.Data(self.time,self.list1,title="perfr", with_="line")
    d2=Gnuplot.Data(self.time,self.list2,title="perfw", with_="line")
    time.sleep(2)
    g.hardcopy('bench.png',terminal = 'png')
    g.reset()

self.list1 = [12、15、17] self.list2 = [43、48、49]

なぜこのエラーが発生したのかわかりません。

ありがとう :)

4

1 に答える 1

2

ソースを非常に簡単に調べた後、g.plot()はプロットをウィンドウ(たとえばx11)に送信しませんが、gnuplotが現在プロットを送信するように構成されている場所に送信するようです。したがって、(私が思うに)最も簡単な解決策は-

g('set terminal png')
g('set output "bench.png"')
g.plot(d1)  #d1 should not be in "bench.png"
#This might work to plot both datasets together ... g.plot(d1,d2)  

plotこれは、コマンドが発行されるたびにgnuplot-pyの内部がgnuplotスクリプトをリセットしない限り機能するはずです。__call__メソッドはAPIの非常に重要な部分であるように思われるため、これが当てはまるかどうかは非常に疑わしいです。

于 2012-04-09T15:37:17.647 に答える