Highcharts使用空值进行数据分组

Highcharts使用空值进行数据分组,highcharts,Highcharts,当在Highstock图表上启用数据分组的数据集中存在空值时,我们试图显示数据中的差距 如果数据集很小,如下图所示,禁用数据分组不是问题 当我们有一个非常大的数据集,2天的数据x 4系列=69万+数据点时,问题就出现了;加载数据需要很长时间 如果我们让dataGrouping保持启用状态,那么数据中的差距就会消失 是否可以启用保持数据分组,但也显示空的间隙 尝试使用断轴模块,请参阅 尝试使用断轴模块,请参阅 问题是由数据引起的-所有空值都是字符串: 200: (2) [156987644800

当在Highstock图表上启用数据分组的数据集中存在空值时,我们试图显示数据中的差距

如果数据集很小,如下图所示,禁用数据分组不是问题

当我们有一个非常大的数据集,2天的数据x 4系列=69万+数据点时,问题就出现了;加载数据需要很长时间

如果我们让dataGrouping保持启用状态,那么数据中的差距就会消失

是否可以启用保持数据分组,但也显示空的间隙


尝试使用断轴模块,请参阅


尝试使用断轴模块,请参阅


问题是由数据引起的-所有空值都是字符串:

200: (2) [1569876448000, "null"]
201: (2) [1569876449000, "null"]
202: (2) [1569876450000, "null"]
203: (2) [1569876451000, "null"]
204: (2) [1569876452000, "null"]
205: (2) [1569876453000, "null"]
206: (2) [1569876454000, "null"]
207: (2) [1569876455000, "null"]
208: (2) [1569876456000, "null"]
209: (2) [1569876457000, "null"]
210: (2) [1569876458000, "null"]
211: (2) [1569876459000, "null"]
作为解决方案,您应该在
complete
函数中更改格式或解析数据:

data: {
    csvURL: '...',
    complete: function(options) {
        options.series.forEach(function(s) {
            s.data.forEach(function(p) {
                if (p[1] === 'null') {
                    p[1] = null;
                }
            });
        });
    },
    enablePolling: false
}

现场演示:


API参考:

问题是由您的数据引起的-所有空值都是字符串:

200: (2) [1569876448000, "null"]
201: (2) [1569876449000, "null"]
202: (2) [1569876450000, "null"]
203: (2) [1569876451000, "null"]
204: (2) [1569876452000, "null"]
205: (2) [1569876453000, "null"]
206: (2) [1569876454000, "null"]
207: (2) [1569876455000, "null"]
208: (2) [1569876456000, "null"]
209: (2) [1569876457000, "null"]
210: (2) [1569876458000, "null"]
211: (2) [1569876459000, "null"]
作为解决方案,您应该在
complete
函数中更改格式或解析数据:

data: {
    csvURL: '...',
    complete: function(options) {
        options.series.forEach(function(s) {
            s.data.forEach(function(p) {
                if (p[1] === 'null') {
                    p[1] = null;
                }
            });
        });
    },
    enablePolling: false
}

现场演示:


API参考:

Hi@BBousman,你能在一些在线代码编辑器中重现这个问题吗?在本例中:图表工作正常。我尝试使用CSVUrl在JSFIDLE上创建一个,这是我们设置它的方式,但它不允许我进入Chrome,因为csv在另一个网站上。如果我手动输入数据,看起来效果不错,但实际上不是1:1的比较。@ppotaczek我上传了一个示例Visual Studio项目,显示了我们看到的情况:数据源不应该有任何影响。我无法运行您的项目,因此您可以再次尝试在jsfiddle中重现该问题吗?@ppotaczek好的,我设置了一个jsfiddle,并设法使其工作;如果您将dataGrouping变量更改为true,您将看到我所看到的:Hi@BBousman,您能在一些在线代码编辑器中重现该问题吗?在本例中:图表工作正常。我尝试使用CSVUrl在JSFIDLE上创建一个,这是我们设置它的方式,但它不允许我进入Chrome,因为csv在另一个网站上。如果我手动输入数据,看起来效果不错,但实际上不是1:1的比较。@ppotaczek我上传了一个示例Visual Studio项目,显示了我们看到的情况:数据源不应该有任何影响。我无法运行您的项目,因此您可以再次尝试在jsfiddle中重现该问题吗?@ppotaczek好的,我设置了一个jsfiddle,并设法使其工作;如果将dataGrouping变量更改为true,您将看到我所看到的:这可以与CSVUrl属性一起使用吗?我们当前正在从CSV文件加载所有数据。此外,我们使用的是HighStock而不是HighChartsCan。这可以与CSVUrl属性一起使用吗?我们目前正在从CSV文件加载所有数据。此外,我们使用的是HighStock而不是HighCharts