时间间隔的 Visjs 条形图而不是单个时间戳
Visjs bar graph for time intervals instead of single timestamps
是否有 way/workaround 来构建 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 分钟的时间间隔)。因为在选项中设置的条宽度在此比例下未达到以下条的开始:
我尝试将选项中的条形宽度设置为更大的值,但在某些时候条形开始重叠:
有什么可以改善的吗?
事实证明,这可以通过向项目添加 'end' 属性 来实现(不确定它是否一直存在或最近添加)。要获得 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
属性用于项目时,options
中的width
属性被忽略。
是否有 way/workaround 来构建 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 分钟的时间间隔)。因为在选项中设置的条宽度在此比例下未达到以下条的开始:
我尝试将选项中的条形宽度设置为更大的值,但在某些时候条形开始重叠:
有什么可以改善的吗?
事实证明,这可以通过向项目添加 'end' 属性 来实现(不确定它是否一直存在或最近添加)。要获得 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
属性用于项目时,options
中的width
属性被忽略。