我必须在1分钟间隔的时间序列。 我想,以显示与失分0图表英寸
我发现xAxis.ordinal并把其关闭,显示时间序列正确地隔开。 问题是,它吸引点之间线路的情况下直接将0丢失的数据。
我必须在1分钟间隔的时间序列。 我想,以显示与失分0图表英寸
我发现xAxis.ordinal并把其关闭,显示时间序列正确地隔开。 问题是,它吸引点之间线路的情况下直接将0丢失的数据。
一种方式是通过预处理的数据,替换null
以0
:
var withNulls = [null, 12, 23, 45, 3.44, null, 0];
var noNulls = withNulls.map(function (item) {
return (item === null) ? 0 : item;
});
例如保存在的jsfiddle: http://jsfiddle.net/7mhMP/
我看一遍搜索的HighCharts的API参考 ,但他们不提供该选项。 他们提供的是什么禁用点连接的时候可以选择null
数据之间(仅适用于线图和面积图):
var chart = new Highcharts.Chart({
plotOptions: {
line: {
connectNulls: false
}
}
});
这是默认根据API设置,所以我不知道为什么你的数据不具有连接null
值之间。 也许他们近来改变了默认值?
我觉得这是你的数据的良好表现,因为违约null
至0
似乎是误导。
您哈瓦填补丢失的数据为0。因为highchart却不知道x轴的间隔。
如果以1 分钟的间隔有一个时间序列,你应该设置每分钟的数据丢失0; 如果以1 天的间隔有一个时间序列,你应该每一天丢失的数据设置为0。
我有同样的问题,我的理解是,你应该在数据库为VARCHAR设置你的数据结构,并设置默认值设置为null所以,你不必成为NULL数据。 然后,它接受空值和highchart不显示,并与连接缺失的区域null
值。
此外,你必须接受数据作为NULL
,不把它们变成''
。
看到这个工作示例:
var chart = new Highcharts.Chart({
chart: {
defaultSeriesType: 'spline', // use line or spline
renderTo: 'container1'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: [9, 4,null, 2, 1, 0, 6, 5, 4, 1, 6, 4]
}]
});
这里是两个不同的图表小提琴用null
和''
更新:
如果您正在使用parseInt函数将数据推你应该记住, parseINT(NULL)
给你NAN
所以对于这个bug尝试手动推NULL像这样的东西:
var val = parseInt(rows[i]);
if (isNaN(val))
{
val = null;
result.push(val);
}