gpt4 book ai didi

javascript - 如何从 highcharts.js 动态更新 pointStart 系列属性?

转载 作者:行者123 更新时间:2023-11-30 13:18:49 25 4
gpt4 key购买 nike

我有一个非常简单的 highcharts js 图表,它在 x 轴上有日期,在 y 轴上有值。它适用于这段代码:

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);
}
);
}

我的问题是:如何在图表初始化后更新我的 series[0].pointStart?

最佳答案

我会重新考虑这一点。从您的 y 值系列创建 x,y 点而不是使用 pointStartpointInterval 选项会更容易。

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)
}]

然后在你的函数中:

 nextDay = function(){
startDate += 3600 * 1000 * 24;
chart.series[0].setData(createData(startDate), true);
}

工作 fiddle here .

关于javascript - 如何从 highcharts.js 动态更新 pointStart 系列属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11058449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com