2014-02-07 61 views
1

我正在使用gnuplot創建相當簡單的結構化文件的圖形。特別是,該文件包含8列,前4列描述「測量」值,第二個4「預測」值。我想創建兩個地塊,一個只包含測量值,一個包含兩個地塊。有條件地執行繪圖命令

由於我的gnuplot腳本比較長,我想引入一個變量來設置標誌是否應該包含預測值。我想使用不同的線型,軸和標籤,因此不能使用「using」方法。

以下是我使用至今:

plot 'file.txt' using 2:xticlabels(1) title "Val1 (Measured)" with 
lines axes x1y1, '' using 3:xticlabels(1) title "Val2 (Measured)" 
with linespoints axes x1y2; 

if (settingCompareToAggretagion == 1) 
    plot 'file.txt' using 4:xticlabels(1) title "Val1 (Aggregated)" with lines 
    axes x1y1, '' using 5:xticlabels(1) title "Val2" with linespoints axes x1y2; 

顯然有,我得到兩個地塊,但一個問題。我還嘗試用附帶條件(bool.exrp. ? x : y)將第二組圖形「附加」到命令中,但這不起作用。

謝謝!

回答

0

可與replot命令來完成:

plot x, x**2 
replot x+5, x**2 + 5 

繪出用四個圖的單個曲線圖。

在你的情況下,下面應該工作:

plot 'file.txt' u 2:xtic(1) t "Val1 (Measured)" w l,\ 
    '' u 3 t "Val2 (Measured)" w lp axes x1y2 

if (settingCompareToAggregation == 1) { 
    replot 'file.txt' u 4 t "Val1 (Aggregated)" w l,\ 
      '' u 5 t "Val2 (Aggregated)" w lp axes x1y2 
}