您應該能夠使用關鍵字variable
做這樣的事情:
plot 'datafile' using 1:2:3:4 w points ps variable lc variable
或可能映射值的調色板:
plot 'datafile' using 1:2:3:4 w points ps variable lc palette
關鍵字變量和/或調色板原因gnuplot從文件讀取屬性,並且它們都需要通過using
讀取額外的列。當然,所有使用平常的東西應用 - 您可以應用轉換到數據等:
plot 'datafile' using 1:2:3:($4+32.) w points ps variable lc palette
我不記得了我的頭頂部的第三列是否會成爲的pointsize或這裏的顏色,我現在沒有時間玩弄它來搞清楚。您可以進行試驗並發表評論,或者當我有時間並添加更新時,我會回到此處。
一些其它性質(例如pointtype
)不能被很容易地使用variable
改變。最簡單的方法是使用gnuplot三元運算符來使用過濾器。
首先,編寫返回基於數據從數據文件的1列pointtype一個功能:我用一個簡單的身份功能
my_point_type(x) = x
在這裏,但它可以是任何東西。現在,您可以循環在pointtypes你想(在這裏1-10)製作的情節每個:
plot [for PT=1:10] 'datafile' u 1:((my_point_type($3) == PT) ? $2:NaN) with points pt PT
這是假設與pointtype信息的列是3列和第二列包含位置信息。這也可以結合我上面演示的東西。
我試過多次使用「變量」,但它似乎只有一些參數接受它。例如,ps對變量感到滿意,但是pt不是,並且將其與其他參數一起使用給出了相同的錯誤:'undefined variable:variable' 沿着這條線,我也嘗試在某個示例中找到名稱爲varaibles的地方:(我昨天晚上找到了這個例子,但是我今天早上再也找不到了) 'plot「datafile」using 1:2:(myvar1 = $ 3):(myvar2 = $ 4)notitle with points pt myvar1 ps myvar2' which just just give the相同的未定義變量錯誤。 – OverlordAlex
@OverlordAlex - 啊,對不起,我看到'pt',我只是假設你正在嘗試改變顏色。不,沒有辦法改變這種點型。唯一的解決方案是將數據過濾爲不同的點類型。當我得到時間時我會更新... – mgilson
@OverlordAlex - 我已更新。也許你的意思是...... ...使用1:2:(myvar = $ 3,$ 3):(myvar = $ 4,$ 4)...'我不確定這是否會工作。 – mgilson