2013-10-22 119 views
1

我有一個包含兩列數據的文件。當繪製,它看起來像gnuplot imageY軸上的gnuplot值

綠線顯示的意思。 我想在Y軸上顯示平均值。可能嗎? 代碼:

set style data lines
set termoption enhanced
set term png
set title "17th oct"
stats 'data/17-10-2013' using 1:2 nooutput
set xdata time
set timefmt "%s"
set format x "%H"
set output "images/17_DB.png"
plot "data/17-10-2013" using 1:3 title " Data" , STATS_mean_y title " Mean"

回答

1

這裏有三個不同的選項來顯示值:

set term pngcairo enhanced 
set output "images/17_DB.png" 

set title "17th oct" 
stats 'data/17-10-2013' using 1:2 nooutput 
set xdata time 
set timefmt "%s" 
set format x "%H" 

# first option  
set ytics add (sprintf('%.1f', STATS_mean_y) STATS_mean_y) 

# second option 
set ytics add ('' STATS_mean_y) 
set rmargin 3 
set label left at graph 1.05,first STATS_mean_y sprintf('%.1f', STATS_mean_y) 

set style data lines 

# third option inside the key label 
plot "data/17-10-2013" using 1:3 title "Data" , \ 
    STATS_mean_y title sprintf("Mean = %.1f", STATS_mean_y) 

這裏對不同選項的一些注意事項:

  1. 第一個選項是最簡單的,但標籤可以用相互重疊標籤(這裏是0)。
  2. 第二個選項添加一個空的市長抽動,並將標籤放在右側。這需要手動增加右邊距(可能需要使用其他值,例如set rmargin 2和其他座標)。
  3. 第三個選項只是將值放在關鍵字(圖例)條目中。

對於更好的x軸,您可能需要添加set autoscale xfix,它可以讓您擺脫右側的空白區域。

+0

非常感謝:) –

+0

是否可以在軸上顯示圖例,如y軸上的時間(s)? –

+0

使用例如'設置xlabel'時間(s)'' – Christoph