除了在点击时打开的工具提示,我还需要一个在鼠标悬停时打开的不同工具提示。
我曾尝试使用render.lable但是当标签渲染时,它有时可能会脱离图表区域并变得不可读。 有没有办法让渲染的标签不会超出图表区域或图表顶部的位置?
$(function () {
$('#container').highcharts({
title: {
text: 'Highcharts custom label'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
}, function (chart) { // on complete
var point = chart.series[0].points[8];
chart.renderer.label('Max observation', 340, 50, 'callout', point.plotX + chart.plotLeft, point.plotY + chart.plotTop)
.css({
color: '#FFFFFF'
})
.attr({
position: 'absolute',
fill: 'rgba(0, 0, 0, 0.75)',
padding: 8,
r: 5,
zIndex: 999
})
.add();
});
});
答案 0 :(得分:1)
我会采用不同的方法。
我会在悬停时使用工具提示的标准功能,并在点击时使用单独的弹出窗口。
请参阅此答案以获取示例:
答案 1 :(得分:0)
chart.renderer.label('Max observation', 340, 50, 'callout', point.plotX + chart.plotLeft, point.plotY + chart.plotTop)
.css({
color: '#FFFFFF'
})
在此块中,您可以将标签的位置设置为图表上不存在的区域。
chart.renderer.label('Max observation', 250, 50, 'callout', point.plotX + chart.plotLeft, point.plotY + chart.plotTop)
.css({
color: '#FFFFFF'
})
这里改为回到图表上。这是jsfiddle - http://jsfiddle.net/54tnht7b/2/
这是你想要的吗?