Gnuplot:第0行:预期绘制的函数

时间:2012-04-09 10:44:20

标签: python gnuplot

我有一个使用gnuplot生成图形的python脚本。但我有一个错误:

的gnuplot>情节               ^          第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]

我不明白为什么我会犯这个错误。

谢谢:)

1 个答案:

答案 0 :(得分: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)  

只要gnuplot-py的内部在发出plot命令时不重置gnuplot脚本,这应该可以工作。我非常怀疑这种情况,因为__call__方法似乎是API的重要组成部分。