Javascript 如何使用HighChart';s列堆叠和分组图形在x轴上的动态日期范围?
我使用Highchart的堆栈和分组柱状图。我想使用一个动态日期-时间x范围,它可以通过传递min和max参数来实现。我也这么做了,但它没有绘制图表。 如果我从x轴上删除最小值和最大值参数并使用类别数组,则正在填充数据。但我无法使类别数组成为动态的,这样我就可以将最小值和最大值传递到那里,然后我的图形就会绘制出来。需要帮助。提前感谢 下面是我的DynamicDaterRange代码Javascript 如何使用HighChart';s列堆叠和分组图形在x轴上的动态日期范围?,javascript,angular,typescript,graph,highcharts,Javascript,Angular,Typescript,Graph,Highcharts,我使用Highchart的堆栈和分组柱状图。我想使用一个动态日期-时间x范围,它可以通过传递min和max参数来实现。我也这么做了,但它没有绘制图表。 如果我从x轴上删除最小值和最大值参数并使用类别数组,则正在填充数据。但我无法使类别数组成为动态的,这样我就可以将最小值和最大值传递到那里,然后我的图形就会绘制出来。需要帮助。提前感谢 下面是我的DynamicDaterRange代码 xAxis: { type:'datetime', min: startDate ?startDa
xAxis: {
type:'datetime',
min: startDate ?startDate.getTime() : (Date.now() - 24 * 60 * 60 * 1000),
max: endDate?endDate.getTime() : Date.now(),
}
下面的代码行是我使用类别数组时的代码行
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'April', 'May','June','July','Aug','Sep','Oct','Nov','Dec']
},
我认为更好的方法是使用pointStart和pointInterval功能 演示: API:
设置最小值和最大值是不够的,它只是设置了xAxis范围,但是您的数据看起来仍然是这样的
[{x:0,y:5},{x:1,y:3},{x:2,y:4},…]
,这意味着x=0毫秒超出了xAxis范围。或者,您需要将数据重新定义为x数据 您好,塞巴斯蒂安,谢谢您的更新,但您正在使点间隔静态,但在我的情况下,它是动态的。假设用户选择开始日期2020年1月1日,结束日期2020年1月31日,那么x轴绘图应为1月、2月、3月等。如果用户选择从2015年4月24日到2020年4月23日的最后5年数据,那么它应该是2015年、2016年和2017年。如果用户选择最后24小时,那么它也应该给我一个时间窗口。@Aastick所以您应该将您的数据定义为[{x:Date.UTC(2018,9,18),y:5},{x:Date UTC(2018,9,19),y:7}]
等以附加点(定义的点位置)在通缉范围内
plotOptions: {
column: {
pointStart: startDate,
pointInterval: 24 * 3600 * 1000, // one day
stacking: 'normal'
}
},