根据Highcharts文档,您可以通过为(SVG基础的)符号路径定义自定义回调函数来创建自己的点标记。
但是,如果您需要从符号原型函数中访问底层系列数据,是否可能?
例如:
但是,如果您需要从符号原型函数中访问底层系列数据,是否可能?
例如:
Highcharts.SVGRenderer.prototype.symbols.cross = function (x, y, w, h) {
// I want to be able to access the series data from here.
// Either the point data or the entire series' data array.
return ['M', x, y, 'L', x + w, y + h, 'M', x + w, y, 'L', x, y + h, 'z'];
};
if (Highcharts.VMLRenderer) {
Highcharts.VMLRenderer.prototype.symbols.cross = Highcharts.SVGRenderer.prototype.symbols.cross;
}
Highcharts.chart('container', {
title: {
text: 'Demo of predefined, image and custom marker symbols'
},
legend: {
y: -40 // make room for subtitle
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
name: 'Custom symbol',
data: [54.4, 29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6],
marker: {
symbol: 'cross',
lineColor: null,
lineWidth: 2
}
}],
credits: {
enabled: false
},
subtitle: {
text: '*) Base64 not supported in IE6 and IE7',
verticalAlign: 'bottom',
align: 'right',
y: null,
style: {
fontSize: '10px'
}
}
});
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<div id="container" style="height: 400px; max-width: 800px; margin: 0 auto"></div>