我使用renderer.image在图表上叠加前景图像:
$(function () {
$('#container').highcharts({
chart: {
type: 'column',
events: {
load: function () {
renderForegroundImage(this);
}
}
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: [110, 130, 106.4, 129.2, 144.0, 225.0, 135.6, 148.5, 216.4, 194.1, 105.6, 136]
}]
}
);
function renderForegroundImage(chart) {
chart.renderer.image('http://i57.tinypic.com/2m2w9iq.png', chart.plotLeft, chart.plotTop, chart.plotWidth, chart.plotHeight)
.attr({
zIndex: 3
})
.add();
}
});
我注意到图像会阻止图表的工具提示。我想这是预料之中的,因为图像是出于目的而在图表上方。
有人会想到一种在图像的透明部分显示图表工具提示的方法吗?
答案 0 :(得分:2)
要仅通过自定义图片的透明部分显示工具提示,您需要通过zIndex
attr增加自定义图片的zIndex
。
要为图表启用鼠标跟踪,可以通过您可以为图像设置'pointer-events': 'none'
的绘图区域上的鼠标事件触发工具提示。
示例:http://jsfiddle.net/7x51pdg3/6/
如果您对工具提示的位置不满意,可以通过tooltip.positioner控制它。