是否有方法/解决方法来构建visjs条形图的时间间隔而不是单个时间戳?
例如,我想以10分钟的间隔显示条形图。为条形图设置数据的标准方法是在X轴上具有单个坐标的数组中:
var items = [
{x: '2016-10-18 18:00:00', y: 10},
{x: '2014-10-18 18:10:00', y: 8},
{x: '2014-10-18 18:20:00', y: 9},
{x: '2014-10-18 18:30:00', y: 5},
...
]
如果在选项中我们设置了右对齐和大条宽(例如50像素),那么在一定比例下,图表会很好地显示 - 当条形达到下一个时间戳时,其宽度会缩小而不会重叠。请注意,此处的实际条形宽度小于选项
中设置的值var options = {
style:'bar',
barChart: {width:50, align:'right'},
drawPoints: false
}
但是如果图形比例发生变化,在某些时候,条形图将开始覆盖不完整的间隔(本例中为10分钟间隔)。由于选项中设置的条宽度未达到此刻度的以下条的开头:
我尝试将选项中的条宽设置为更大的值,但在某些时候条形开始重叠:
有什么方法可以改善吗?
答案 0 :(得分:0)
事实证明,这可以通过向项目添加“结束”属性来实现(不确定它是否始终存在或最近添加)。要获得10分钟的间隔,问题中的项目应如下配置:
var items = [
{x: '2016-10-18 18:00:00', end: '2016-10-18 18:10:00', y: 10},
{x: '2014-10-18 18:10:00', end: '2014-10-18 18:20:00', y: 8},
{x: '2014-10-18 18:20:00', end: '2014-10-18 18:30:00', y: 9},
{x: '2014-10-18 18:30:00', end: '2014-10-18 18:40:00', y: 5},
...
]
当end
属性用于项目时,width
中的options
属性将被忽略。