这是JSFiddle和Codepen中的错误,还是Highcharts中的错误,还是Javascript的限制?

时间:2017-09-15 15:44:11

标签: javascript highcharts jsfiddle codepen

我正在创建heatmap with Highcharts。我在5x5地图和I get the expected heatmap上进行了测试。

然后我测试了一个更大的the resulting heatmap is incorrect。我也在CodePen中尝试过它,with same (incorrect) result

使用Codepen时,大型数组中的某些地方也会发生奇怪的事情:(请参阅this answer了解这一点,这解释了突出显示停止的原因)

enter image description here

我有几种可能性:

  • 这可能是浏览器问题。我使用Chrome和Firefox进行了测试并得到了相同的错误
  • 它可能是对Array 大小的JavaScript限制(代码的突出显示是在Codepen中的chnaging所以也许)It looks like it is not
  • 它可能是JSFiddle和Codepen中的一个错误。我对此表示怀疑,因为两个沙盒中的问题都是一样的。
  • 这可能是Highcharts的错误。这个我不知道 - 我的代码不是异国情调(尽管有些大),所以应该早点发现。但这个看起来最有可能。



This is a fake snippet as the question requires one but it is not useful in this case




3 个答案:

答案 0 :(得分:1)

CodeMirror(这是codepen的编辑器)支持maxHighlightLength,它告诉编辑器编辑器应该突出显示的最大字符长度。

该变量的default值为10000,在您的特定情况下,该行的长度超过此值。

答案 1 :(得分:1)

这里的问题是你需要告诉highcharts yAxis的规模。为此,将其设置为min = 0和max =类别数量 - 1:

...
  yAxis: {
    categories: ['10.233.86.12', '10.233.84.72', '10.2.0.71', '10.90.13.175', '10.233.84.57', '10.91.66.24', '255.255.255.255', '224.0.0.252', '10.233.86.34', '10.233.80.60', '10.112.0.142', '10.35.24.33', '10.130.37.22', '10.20.3.16', '10.233.84.83', '10.70.1.79', '10.6.41.78', '10.89.3.109', '10.118.68.133', '192.168.0.11', '10.70.0.253', '10.10.68.56'],
    title: null,
    min: 0,
    max: 21
  },
...

请注意,您还应该告诉它通过增加图表的高度来显示应该完成的每个类别,以便标签不重叠。

答案 2 :(得分:1)

这不是一个错误。只需点数超过turboThreshold属性的默认值(请参阅API参考部分)。增加turboThreshold的数量,热图将正确显示。

API参考:
http://api.highcharts.com/highcharts/plotOptions.series.turboThreshold

例:
http://jsfiddle.net/p4z094g9/