2014-06-06 91 views
1

一直在使用燭臺上的真實財務數據。除非我在數據方面存在差距,否則它的效果很好,歷史財務數據有很多差距。Gnuplot燭臺和盒寬

我有「設置箱寬1相對」,它工作正常,它給了我一個在大多數情況下燭臺適當的「寬度」。但是,如果兩點之間沒有數據,燭臺將變得更加肥厚,也就是說它正好彌補了這一差距。視覺是可怕的,向右延伸是非常糟糕的。

我已經嘗試玩設置boxwidth x絕對,但我不能在它是如何顯示條款。我已經縮小到set boxwidth 37500 absolute,並且不知道爲什麼這個數字能夠工作,儘管它的設置框寬度1相對更有問題。

第一張圖像是使用set boxwidth 37500 absolute時的樣子。日期從01/31/13,02/01/13,02/03/13,02/04/13,02/05/13。沒有13年2月2日:

enter image description here

絕對顯示了原因,我無法解釋02/01 02/02和02/03,但和02/04重疊之間的適當的間隙。

第二張圖片使用設置框寬1相對。這主要是我想要的方式。燭臺相鄰,大部分都是正確的。但是,在02/02/13的差距它肥胖的權利。在2013年9月2日還有一個缺口,它也會變胖,或者兩邊可能會延長以彌補我不知道的差距。

enter image description here

我如何配置,從而使所有的燭臺都是相同的寬度和相鄰的數據差距是空的?

我把這個用起來很瘋狂,沒有人會談論它。我發現的燭臺的幾個例子不使用「日期」,而是整數,完全沒有價值。燭臺圖表需要每個手冊的日期。

在Windows 7

運行的Gnuplot 4.6 PATCHLEVEL 0謝謝

PS:我應該在這裏添加的數據去。

basic.csv

2013-01-15 00:00:00,93.879000,93.949000,92.874000,93.078000 
2013-01-16 00:00:00,93.079000,93.672000,92.458000,92.800000 
2013-01-17 00:00:00,92.799000,95.011000,92.629000,94.616000 
2013-01-18 00:00:00,94.617000,94.872000,94.157000,94.662000 
2013-01-20 17:00:00,94.649000,94.820000,93.965000,94.155000 
2013-01-21 00:00:00,94.159000,94.938000,93.726000,94.009000 
2013-01-22 00:00:00,94.011000,94.284000,93.147000,93.231000 
2013-01-23 00:00:00,93.229000,94.024000,92.793000,93.649000 
2013-01-24 00:00:00,93.650000,94.715000,93.559000,94.489000 
2013-01-25 00:00:00,94.490000,95.083000,94.472000,94.749000 
2013-01-27 17:00:00,94.819000,95.007000,94.652000,94.834000 
2013-01-28 00:00:00,94.835000,94.968000,94.082000,94.809000 
2013-01-29 00:00:00,94.803000,95.330000,94.370000,95.248000 
2013-01-30 00:00:00,95.245000,95.450000,94.255000,94.365000 
2013-01-31 00:00:00,94.372000,95.799000,94.328000,95.714000 
2013-02-01 00:00:00,95.715000,96.718000,95.457000,96.597000 
2013-02-03 17:00:00,96.716000,96.777000,96.370000,96.572000 
2013-02-04 00:00:00,96.574000,97.064000,95.968000,96.044000 
2013-02-05 00:00:00,96.043000,97.426000,95.945000,97.131000 
2013-02-06 00:00:00,97.133000,97.284000,96.092000,96.395000 
2013-02-07 00:00:00,96.396000,97.023000,95.813000,96.145000 
2013-02-08 00:00:00,96.146000,96.182000,95.124000,95.625000 
2013-02-10 17:00:00,95.623000,95.744000,95.210000,95.339000 
2013-02-11 00:00:00,95.336000,96.877000,95.168000,96.537000 
2013-02-12 00:00:00,96.536000,96.719000,95.776000,96.214000 
2013-02-13 00:00:00,96.216000,96.890000,96.114000,96.775000 
2013-02-14 00:00:00,96.771000,96.964000,95.609000,95.621000 
2013-02-15 00:00:00,95.622000,96.676000,95.521000,96.351000 

absolute.plt

reset 

set border linecolor rgbcolor "yellow" 
set key textcolor rgbcolor "white" 

set obj 1 rectangle behind from screen 0,0 to screen 1,1 
set obj 1 fillstyle solid 1.0 fillcolor rgbcolor "black" 

set xdata time 
set timefmt"%Y-%m-%d %H:%M:%S" 
set xrange ["2013-01-15 00:00:00":"2013-02-15 23:59:59"] 

set yrange [*:*] 
set datafile separator "," 

set palette defined (-1 'red', 1 'green') 
set cbrange [-1:1] 
unset colorbox 

set style fill solid noborder 
set boxwidth 37500 absolute 

set title "AUDJPY" textcolor rgbcolor "white" 
plot 'basic.csv' using 1:2:4:3:5:($5 < $2 ? -1 : 1) with candlesticks palette 

relative.plt

reset 

set border linecolor rgbcolor "yellow" 
set key textcolor rgbcolor "white" 

set obj 1 rectangle behind from screen 0,0 to screen 1,1 
set obj 1 fillstyle solid 1.0 fillcolor rgbcolor "black" 

set xdata time 
set timefmt"%Y-%m-%d %H:%M:%S" 
set xrange ["2013-01-15 00:00:00":"2013-02-15 23:59:59"] 

set yrange [*:*] 
set datafile separator "," 

set palette defined (-1 'red', 1 'green') 
set cbrange [-1:1] 
unset colorbox 

set style fill solid noborder 
set boxwidth 1 relative 

set title "AUDJPY" textcolor rgbcolor "white" 
plot 'basic.csv' using 1:2:4:3:5:($5 < $2 ? -1 : 1) with candlesticks palette 

回答

4

當使用set boxwidth absolute,寬度在x軸的單位給出,這在日期的情況是秒。所以,寬度37500是10個小時。

您也可以在第6列中使用顯式寬度,並切換到-2以獲得某些列的自動框寬度。然而,這需要你手動操作你的數據文件。

另一點:你是否有必要在一些數據點中加入小時?這是縮小了一些相鄰點的距離。你可以忽略小時,這會給你一個最短的一天的點距離。剝去小時,在using語句中使用strptime

reset 

set border linecolor rgbcolor "yellow" 
set key textcolor rgbcolor "white" 

set obj 1 rectangle behind from screen 0,0 to screen 1,1 
set obj 1 fillstyle solid 1.0 fillcolor rgbcolor "black" 

set xdata time 
set timefmt"%Y-%m-%d %H:%M:%S" 
set xrange ["2013-01-15 00:00:00":"2013-02-15 23:59:59"] 

set yrange [*:*] 
set datafile separator "," 

set palette defined (-1 'red', 1 'green') 
set cbrange [-1:1] 
unset colorbox 

set style fill solid noborder 
set boxwidth 60000 absolute 

set title "AUDJPY" textcolor rgbcolor "white" 
plot 'basic.csv' using (strptime('%Y-%m-%d', strcol(1))):2:4:3:5:($5 < $2 ? -1 : 1) with candlesticks palette 

結果與4.6.0:

enter image description here

+0

謝謝我看了看文檔和不能確定它是在幾秒鐘。 – Bodger