使用默认的 Highcharts API 无法做到这一点,但可以通过包装原型函数来添加扩展。您可以包装drawPoints 方法以将柱形类型从rect 更改为path,并带有弯曲的顶部边框。
(function(H) {
H.wrap(H.seriesTypes.column.prototype, 'drawPoints', function(proceed) {
this.points.forEach(function(point) {
var sArgs = point.shapeArgs;
point.shapeType = 'path';
point.shapeArgs = {
'd': [
'M', sArgs.x, sArgs.y,
'Q', sArgs.x + sArgs.width / 2,
sArgs.y + sArgs.width / 2,
sArgs.x + sArgs.width, sArgs.y,
'L', sArgs.x + sArgs.width, sArgs.y + sArgs.height,
sArgs.x, sArgs.y + sArgs.height, 'z'
]
}
});
proceed.apply(this, Array.prototype.slice.call(arguments, 1));
});
}(Highcharts));
现场演示: http://jsfiddle.net/BlackLabel/as6y1uhn/
API 参考: https://api.highcharts.com/class-reference/Highcharts#.wrap
文档: https://www.highcharts.com/docs/extending-highcharts