Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用HighChart';s列堆叠和分组图形在x轴上的动态日期范围?_Javascript_Angular_Typescript_Graph_Highcharts - Fatal编程技术网

Javascript 如何使用HighChart';s列堆叠和分组图形在x轴上的动态日期范围?

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

我使用Highchart的堆栈和分组柱状图。我想使用一个动态日期-时间x范围,它可以通过传递min和max参数来实现。我也这么做了,但它没有绘制图表。 如果我从x轴上删除最小值和最大值参数并使用类别数组,则正在填充数据。但我无法使类别数组成为动态的,这样我就可以将最小值和最大值传递到那里,然后我的图形就会绘制出来。需要帮助。提前感谢

下面是我的DynamicDaterRange代码

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']
    },

我认为更好的方法是使用pointStartpointInterval功能

演示:

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'
     }
   },