我在图表中添加了一些功能,所有功能都有效 单独,但在我更改标记样式然后更改线条颜色后,图形消失。 代码如下所示:
function(chart){
$('#colorchange').click(function() {
chart.series[0].update({color:document.getElementById("selectcolor").value});
});
$('#stylechange').click(function() {
chart.series[0].update({dashStyle: document.getElementById("selectStyle").value});
});
$('#pointchange').click(function() {
var l = chart.series[0].points.length;
var p = chart.series[0].points;
for(var len = 0; len < l; len++) {
p[len].update({
marker: {
symbol: document.getElementById("selectpoint").value,
}
}, false);
}
});
}
答案 0 :(得分:2)
我不确定为什么会这样,但我找到了一个解决方法并且可能的原因: - )
我认为,当您在未指定p[len].update({...})
和x
值的情况下致电y
时,这些值会丢失。因此,当您致电chart.series[0].update
时,积分本身将被删除。令我惊讶的是,只有在更新系列之后才会删除这些点,而不是在设置新标记之后删除。也许highcharts有某种缓存只能在系列更新时重建。
快速解决您的问题是在更新积分时手动将x和y属性设置为旧值:
p[len].update({
x: p[len].x,
y: p[len].y,
marker: {
symbol: document.getElementById("selectpoint").value
}
}, false);
有关工作示例,请参阅http://jsfiddle.net/doc_snyder/2wwzgz0p/1/。如果删除设置了x和y值的行,则在设置颜色后线条会消失,就像您所经历的那样。