2014-12-02 131 views
2

我想知道如何Y可以從X取值(X商店的日期) 我有以下日期gnuplot的Y軸值(日期)

13/3/2014 218.11.11 
12/4/2014 218.37.12 
5/5/2014 218.31.34 
7/5/2015 218.31.10 
23/5/2014 218.32.21 
4/6/2014 218.41.14 

我們有這些日期和這些IPS我想要的IPS 例如存儲在幾個月: 二千〇一十四分之五 - 3 IPS

在gnuplot的圖我想打印每個月 每一個在這裏有多少IPS是我到現在爲止

set xlabel 'Date' 
set title 'Gnuplot test graph' 
set ylabel 'IPS' 
set terminal png size 1400,500 
set datafile sep ',' 

set xdata time 
set timefmt '%Y-%m-%d %H:%M:%S' 
set xrange ["2009/3/27 00:00":"2014/4/11 22:28"] 

set xtics nomirror rotate by -45 
set grid 
set term png 
set output 'file.png' 

plot 'data.dat'using 1:2 with points 

回答

1

爲了計數相等的x值的數目,則可以使用的1固定數目爲y值使用plot ... smooth frequency

set xdata time 
set timefmt '%d/%m/%Y' 
plot 'data.dat' using 1:(1) smooth frequency 

這繪製每個一天的條目的數量。

要按月分組值,必須將月份的所有值標準化爲本月的第一個月份。爲此,您可以使用tm_mday功能,它可以讓你的當前月的一天,基於時間戳:

set yrange [0:*] 
set xdata time 
set timefmt '%d/%m/%Y' 
set xrange['01/03/2014':'01/06/2014'] 
set xtics 30*24*60*60 
set format x '%b %Y' 
plot 'data.dat' using (timecolumn(1) - (tm_mday(timecolumn(1))-1)*24*60*60):(1) smooth frequency w lp pt 7 ps 2 notitle 

enter image description here

+0

感謝花花公子,但即時得到這個錯誤:「test.conf」,行7:所有的點y值都是未定義的! – user2904051 2014-12-03 08:45:53

+0

可能對於第一次測試,您必須刪除'set xrange'和'set xtics'命令,這些命令僅用於爲您提供的測試數據正確放置標籤。 – Christoph 2014-12-03 09:22:01

+0

我刪除了xrange和xtics,我得到這個:警告:空x範圍[0:0],調整爲[-1:1] – user2904051 2014-12-03 09:46:03