2012-07-05 69 views

回答

1

尝试是这样的,假设你的数据集变量(X,Y,Z)已经被定义

::Gnuplot.open do |gp| 
    ::Gnuplot::Plot.new(gp) do |plot| 
    plot.data << ::Gnuplot::DataSet.new([x, y, z]) do |ds| 
     ds.with = 'errorb lt rgb "black"' 
    end 
    end 
end 

该行指定的颜色,也指定要使用误差线图(为z变量)。它也可以像格式化:

ds.with = "errorb lt rgb \"black\"" 

当然,你可以删除“errorb”,只是情节的双变量(X,Y)的数据集。

顺便说一下,看看哪些颜色可供选择,类型

show colournames 
在终端

一个gnuplot的环境中。有关更多文档,请尝试http://gnuplot.sourceforge.net/docs_4.6/gnuplot.pdf

+1

对,我结束了:'ds.with =“lines lt rgb \”black \“”'' – maasha 2014-01-23 21:09:25

0

我假设你有GnuPlot 4.x是吗?因为据我记得颜色选项在以前的版本中不起作用(请纠正我,如果我错了)。

现在好了您的答案。选中this即可查看语法以设置行的颜色(您需要linecolor rgb "red"部分,我相信)。现在,您可以从Ruby包装器,通过一个set命令GNUPLOT这样的:

Gnuplot.open do |gp| 
    Gnuplot::Plot.new(gp) do |plot| 
     plot.set("style", "line 1 lt 1 lw 3 pt 3 linecolor rgb \"red\"") 
    end 
end 

看到自己(我相信它应该帮助你通过浏览代码)的代码是github。我希望我帮助你。

+0

这看起来应该可以工作,但它不会(没有错误或消息)。这是我的剧情代码:http://pastie.org/4203594。如果可以在每个Gnuplot :: DataSet的级别上设置此“样式”设置,那就太好了。 – maasha 2012-07-05 10:32:22

+0

我认为它可以设置为每个数据集..看到'线1'?我相信这是针对个人数据集的。而不是'linecolor'使用'lc'并且看看它是否有效。另外你的gnuplot版本是什么? – Gerry 2012-07-05 10:39:55

+0

我使用第1行到第5行进行了测试,结果相同:oP。在我的代码示例中没有'ds'对象的'set'方法。根据gnuplot帮助系统'lc'和'linecolor'是同义词。我的Gnuplot版本是4.6.0。 rgplot是2.4.1。 – maasha 2012-07-05 11:26:33