Highcharts 更改标记样式后,图形将消失,然后更改线条颜色

Highcharts 更改标记样式后,图形将消失,然后更改线条颜色,highcharts,Highcharts,我在图形中添加了一些函数,所有这些函数都可以工作 分别,但在我更改标记样式,然后更改线条颜色后,图形消失。 代码如下所示: function(chart){ $('#colorchange').click(function() { chart.series[0].update({color:document.getElementById("selectcolor").value}); }); $('#stylechange').click(function() {

我在图形中添加了一些函数,所有这些函数都可以工作 分别,但在我更改标记样式,然后更改线条颜色后,图形消失。 代码如下所示:

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

}
功能(图表){
$(“#颜色更改”)。单击(函数(){
chart.series[0]。更新({color:document.getElementById(“selectcolor”).value});
});
$('#stylechange')。单击(函数(){
chart.series[0]。更新({dashStyle:document.getElementById(“selectStyle”).value});
});
$('#pointchange')。单击(函数(){
var l=chart.series[0].points.length;
var p=图表.系列[0].点;
对于(变量len=0;len
我不知道为什么会发生这种情况,但我找到了一个解决办法,并找到了一个可能的原因:-)

我假设当您调用
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);

有关工作示例,请参见。如果删除设置了x和y值的线条,则该线条在设置颜色后会消失,就像您所经历的那样。

我不确定为什么会发生这种情况,但我找到了解决方法,并找到了可能的原因:-)

我假设当您调用
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);

有关工作示例,请参见。如果删除设置了x和y值的行,该行将在设置颜色后消失,就像您所经历的那样。

您可以在小提琴中重新创建吗?您在
文档中有哪些内容。getElementById(“selectpoint”)。value
?这是正确的格式吗?顺便说一句,你在
#pointchange
callback.thx中缺少了
chart.redraw()
,你可以用小提琴重新创建吗?你在
document.getElementById(“selectpoint”).value中有什么?这是正确的格式吗?顺便说一句,你在
#pointchange
callback.thx中缺少
chart.redraw()
,对于你的助手来说,接受解决问题的答案是一种常见的做法:-)接受解决问题的答案是一种常见的做法:-)