Highcharts - HTML 工具提示和数据标签呈现问题



我的问题是,当您为数据标签设置useHTML:true时,标签文本似乎会覆盖工具提示背景。

你可以在这个简单的小提琴中看到行为:条形图

尝试在工具栏上用鼠标显示工具提示,您将在工具提示背景中看到数据标签的文本。

是否可以在数据标签上设置z索引?

我试图在工具提示定义中添加这个,但没有成功:

style : {
color: 'black',
'z-index': 0
},

我还尝试为数据标签和工具提示设置span类,然后在这些类的css属性中添加z索引,但仍然不起作用。

编辑:由于我仍在寻找解决问题的方法,有人能告诉我在图表的条形图(或数据标签)中添加类的方法吗?我的目标是在这个类上调用一个特定的onclick事件。

好的,这里有一个解决我问题的方法。。。这个想法是创建自己的自定义工具提示。

解决方案在Highcharts论坛上给出:Highcharts在后的论坛

为此,请在数据标签和工具提示上设置"useHTML"属性,删除工具提示的一些默认属性,并在格式化程序函数中设置CSS类:

//JS
datalabels: {
...
useHTML: true,
formatter: function() {
return ("<span class='datalabel'>" + this.y + "</span>");
}
}
tooltip: {
...
borderWidth:0,
borderRadius:0,
shadow:false,
useHTML: true,
formatter: function() {
return ("<div class='tooltip'>" + this.y + "</div>");
}
}

最后一步(最重要的一步)是为highcharts工具提示span类(highcharts用于呈现HTML工具提示)设置CSS规则。

//CSS
.highcharts-tooltip span {
background-color:white;
z-index:9999!important;  
}

请注意z-index属性,该属性将允许工具提示在数据标签上呈现。

现在,您可以通过为"工具提示"类设置CSS规则来自定义工具提示。

有关完整的实时示例,请参阅jsfiddle此处的:自定义工具提示

注意:在格式化程序中指定数据标签类并不是强制性的,我只需要这样我就可以在它上注册一个特定的鼠标事件。

6年后,与HC v6.1.1一起,增加了一个新的工具提示选项,解决了这个问题。参见工具提示。外侧

datalabels: {
useHTML: true,
formatter: function() {
return ("<span class='datalabel'>" + this.y + "</span>");
}
},
tooltip: {
outside: true
}

检查http://api.highcharts.com/highcharts#tooltip.backgroundColor用于工具提示背景颜色。

在高边论坛上,该属性解决了同类问题

最新更新