Gnuplot烛台和盒宽

Gnuplot烛台和盒宽,gnuplot,financial,candlestick-chart,Gnuplot,Financial,Candlestick Chart,一直在用烛台处理真实的金融数据。除非我在数据上有差距,否则效果很好,因为历史财务数据中有很多空白 我已经有了“设置盒宽1相对”,它的工作正常,它给了我一个适当的“宽度”的烛台在大多数情况下。但是如果在2点之间没有数据,烛台会变得更胖,也就是说,它会向右延伸以填补这个空白。视觉效果很糟糕,右边的延伸很糟糕 我尝试过使用set-boxwidth x absolute,但我无法理解它的显示方式。我已经把它缩小到设置boxwidth 37500绝对值,不知道为什么这个数字会起作用,尽管它的问题比设置bo

一直在用烛台处理真实的金融数据。除非我在数据上有差距,否则效果很好,因为历史财务数据中有很多空白

我已经有了“设置盒宽1相对”,它的工作正常,它给了我一个适当的“宽度”的烛台在大多数情况下。但是如果在2点之间没有数据,烛台会变得更胖,也就是说,它会向右延伸以填补这个空白。视觉效果很糟糕,右边的延伸很糟糕

我尝试过使用set-boxwidth x absolute,但我无法理解它的显示方式。我已经把它缩小到
设置boxwidth 37500绝对值
,不知道为什么这个数字会起作用,尽管它的问题比设置boxwidth 1相对值更严重

第一幅图像是使用
set-boxwidth 37500 absolute
显示的图像。这些日期分别为2013年1月31日、2013年2月1日、2013年2月3日、2013年2月4日、2013年2月5日。没有2013年2月2日:

绝对值显示02/01和02/02之间存在适当的间隙,但02/03和02/04重叠,原因我无法解释

第二幅图像使用set-boxwidth 1 relative。这是我想要的方式。烛台是相邻的,大部分是右边的。但2013年2月2日的差距扩大到了右侧。2013年9月2日也有一个缺口,在那里它也会发胖,或者两边的2个可能会延伸,以填补我不知道的缺口

我如何配置它,使所有的烛台相邻宽度相同,并且数据中的间隙为空

我疯狂地在谷歌上搜索,没有人谈论它。我发现的几个烛台示例不使用“日期”,而是使用整数,完全没有价值。烛台图表要求按照手册的日期

在Windows 7上运行Gnuplot 4.6补丁级别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
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

使用
set-boxwidth-absolute
时,宽度以x轴为单位,在日期的情况下为秒。因此,
37500
的宽度是10小时

您还可以在第6列中使用显式宽度,并切换到-2以获得某些列的自动框宽度。但是,这需要您手动操作数据文件

另一点:在某些数据点中包含小时数是否必要?这就是缩小某些相邻点之间距离的原因。您可以忽略小时数,这将为您提供至少一天的点距离。要删除小时数,请在
using
语句中使用
strtime

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
重置
将边框线条颜色RGB颜色设置为“黄色”
设置关键文本颜色RGB颜色“白色”
将屏幕0,0后面的obj 1矩形设置为屏幕1,1
将obj 1 fillstyle solid 1.0 fillcolor RGB颜色设置为“黑色”
设置扩展数据时间
设置时间“%Y-%m-%d%H:%m:%S”
设置X范围[“2013-01-15 00:00:00”:“2013-02-15 23:59:59”]
设置Y范围[*:*]
设置数据文件分隔符“,”
已定义设置选项板(-1“红色”,1“绿色”)
设置cbrange[-1:1]
未设置色盒
设置样式填充顺序
设置箱宽60000绝对值
设置标题“AUDJPY”文本颜色RGB颜色“白色”
使用(strTime(“%Y-%m-%d”,strcol(1)):2:4:3:5:($5<$2?-1:1)和烛台调色板绘制“basic.csv”
结果为4.6.0:


谢谢,我查看了文档,几秒钟内无法确定它是否存在。