Javascript 如何从highcharts.js动态更新pointStart系列属性?
我有一个非常简单的highcharts js图表,它在x轴上有日期,在y轴上有值。它适用于以下代码:Javascript 如何从highcharts.js动态更新pointStart系列属性?,javascript,charts,highcharts,series,Javascript,Charts,Highcharts,Series,我有一个非常简单的highcharts js图表,它在x轴上有日期,在y轴上有值。它适用于以下代码: chart = new Highcharts.Chart({ chart: { renderTo: 'chart_container', type: 'line', }, xAxis: { type: 'datetime', dateTimeLabelFormats: {
chart = new Highcharts.Chart({
chart: {
renderTo: 'chart_container',
type: 'line',
},
xAxis: {
type: 'datetime',
dateTimeLabelFormats: {
day: '%e / %b'
}
},
yAxis: {
title: {
text: null
},
tickInterval: 1,
tickmarkPlacement: 'on',
min: 1,
max: 5
},
series: [{
name: 'serie_1',
pointInterval: 24 * 3600 * 1000, // one day
pointStart: Date.UTC(2011, 11, 22),
data: [
2, 3, 5, 4, null, 4, 4, 4, 4, 3, 2, 2, 1, 2, 2, null
]
}]
});
我还有一个事件,它会在触发某些操作时更改图表的数据:
function reloadChart(){
$.get('/my/ajax/link/', { ajax_param: 10 },
function(data){
// HOW TO GET THIS TO WORKS??? series.pointStart is readonly
chart.series[0].pointStart = data.newPointStart;
chart.series[0].setData(data.data, true);
}
);
}
我的问题是:如何更新我的系列[0]。图表初始化后的pointStart?我想这就是您想要的
chart.xAxis[0].setCategories();
另请参见《工作手册》,我将重新思考这一点。从y值序列创建x、y点会更容易,而不是使用
pointStart
和pointInterval
选项
startDate = Date.UTC(2010, 0, 1);
createData = function(beginDate){
someData = [];
for (var i = 0; i < 11; i++){
someData.push([beginDate + (3600 * 1000 * 24 * i), Math.random() * 100]);
}
return someData;
}
....
series: [{
data: createData(startDate)
}]
工作小提琴。嘿,马克,谢谢你的回复。看来你的方式是最好的。非常感谢!使用类别是我将PointStart值更改为文本的解决方案
nextDay = function(){
startDate += 3600 * 1000 * 24;
chart.series[0].setData(createData(startDate), true);
}