我从客户端异步加载数据。有时会收到空时间和值对。如果发生这种情况,导航器将从1970年开始显示。 我已尝试将初始点设置为导航器系列中的第一个时间戳,问题仍然存在,因为null在显示的系列中。
您是否有建议的解决方案或解决方法?
这是我的代码和a fiddle:
$(function() {
$('#container').highcharts('StockChart', {
chart: {
},
navigator: {
adaptToUpdatedData: false,
series: {
name: 'navigator'
}
},
rangeSelector: {
enabled: false
},
series: [{
name: "Billy"
}
]
});
var data = [[null, null],
[Date.UTC(1990, 9, 27), 10 ],
[Date.UTC(1990, 10, 10), 20 ],
[Date.UTC(1990, 10, 18), 30 ],
[Date.UTC(1990, 11, 2), 40 ],
[Date.UTC(1990, 11, 9), 50 ],
[Date.UTC(1990, 11, 16), 60 ],
[Date.UTC(1990, 11, 28), 50],
[Date.UTC(1991, 0, 1), 40],
[Date.UTC(1991, 0, 8), 30],
[Date.UTC(1991, 0, 12), 20],
[Date.UTC(1991, 0, 27), 10]]
var chart = $('#container').highcharts();
chart.series[0].setData(data);
chart.xAxis[0].setExtremes(chart.xAxis[0].min, chart.xAxis[0].max, true);
});
答案 0 :(得分:3)
在Highcharts中不能有空x值。
如果您没有该点的y数据,请将您的数据指定为({)[Date.UTC(1990, 9, 27), null]
null x和null y没有给你任何意义,因为你不知道何时出现空值(即问题)。
答案 1 :(得分:1)
为什么不过滤出null / null对?如果数据无意义使用,为什么允许将其发送到图表?
答案 2 :(得分:0)
您还可以合并这些行:
chart.addSeries({
name: 'USD to EUR'
});
chart.series[0].setData(data);
进入
chart.addSeries({
name: 'USD to EUR',
data:data,
pointStart: Date.UTC(1990, 9, 27)
});
您可以使用pointStart,但最好摆脱空值。