2012-07-05 70 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