Highcharts 如何更改箱线图高度图表中的高和低胡须颜色?

Highcharts 如何更改箱线图高度图表中的高和低胡须颜色?,highcharts,boxplot,Highcharts,Boxplot,这是小提琴的链接 以下是打印选项 plotOptions: { boxplot: { boxDashStyle: 'Dash', fillColor: '#F0F0E0', lineWidth: 2, medianColor: '#0C5DA5', medianDashStyle: 'ShortDot', medianWidth: 3,

这是小提琴的链接

以下是打印选项

plotOptions: {
        boxplot: {
            boxDashStyle: 'Dash',
            fillColor: '#F0F0E0',
            lineWidth: 2,
            medianColor: '#0C5DA5',
            medianDashStyle: 'ShortDot',
            medianWidth: 3,
            stemColor: '#A63400',
            stemDashStyle: 'dot',
            stemWidth: 1,
            whiskerColor: '#3D9200',
            whiskerLength: '20%',
            whiskerWidth: 3
        }
    } 
此方框图以绿色显示高值和低值。在我的例子中,我需要将高值(Q1)颜色更改为红色,将低值颜色更改为绿色。

我该怎么做


谢谢

目前,默认情况下,Highcharts中不可能出现与github相关的问题:

当前,每个框都是单个SVG形状,边框由 对于较小的边,不能“分离”的笔划参数。作为一个 结果,只能应用单色。 您的目标需要重建boxplot的核心,因此我们不能将其视为一个bug进行威胁,但需要特性请求


作为一种解决方法,您可以渲染自定义路径以覆盖一个现有胡须,例如:

events: {
  render: function() {
    var series = this.series[0],
      attr,
      paths;

    series.points.forEach(function(point) {
      paths = point.whiskers.d.split('M');
      attr = {
        d: 'M' + paths[1],
        'stroke-width': 2,
        stroke: 'red'
      };

      if (point.customHigh) {
        point.customHigh.attr(attr);
      } else {
        point.customHigh = this.renderer
          .path()
          .attr(attr)
          .add(series.group);
      }
    }, this);
  }
}

现场演示:


API参考:

您能解释一下下面的代码段吗?如果(point.customHigh){point.customHigh.attr(attr);}else{point.customHigh=this.renderer.path().attr(attr).add(series.group);}Hi@kathy generier,那么-我将渲染路径存储为
point.customHigh
属性,以便在重新绘制图表后使用相同的元素(例如,如果图表大小已更改)并仅更改元素位置和尺寸。