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
属性,以便在重新绘制图表后使用相同的元素(例如,如果图表大小已更改)并仅更改元素位置和尺寸。