Javascript 高图表:Y轴标签上的工具提示
正在尝试将y轴标签的说明显示为工具提示。Javascript 高图表:Y轴标签上的工具提示,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,正在尝试将y轴标签的说明显示为工具提示。 是否可以在y轴标签上显示相应的工具提示? 这里是我尝试向y轴标签添加工具提示的地方 代码: 对于每个类别,我都有如下工具提示: 第1类:说明1 第二类:描述2 第三类:说明3 第四类:说明4 当鼠标悬停在“cat1”上时,“description1”需要显示为工具提示。有点像下面: 将点格式属性添加到工具提示对象中,如下所示: tooltip: { ....., ....., pointFormat: '<b>{point.y}&
是否可以在y轴标签上显示相应的工具提示? 这里是我尝试向y轴标签添加工具提示的地方 代码: 对于每个类别,我都有如下工具提示: 第1类:说明1 第二类:描述2 第三类:说明3 第四类:说明4 当鼠标悬停在“cat1”上时,“description1”需要显示为工具提示。有点像下面:
将
点格式
属性添加到工具提示
对象中,如下所示:
tooltip: {
.....,
.....,
pointFormat: '<b>{point.y}</b>',
}
工具提示:{
.....,
.....,
pointFormat:“{point.y}”,
}
:使用对标签启用HTML的格式化程序:
xAxis:{
类别:['cat1','cat2','cat3','cat4','cat5'],
时间间隔:1,
标签:{
启用:对,
格式化程序:函数(){
返回“”+this.value+“”;
},
是的,
风格:{
颜色:“白色”
}
}
},
当然,您需要在某个地方存储引用cat1描述1,以便将跨度标题与描述一起提供 扩展PawełFus'解决方案I通过使用“-”分隔类别的值来定义标签和标题文本。然后,格式化程序可以将该值拆分为一个数组,以将第一个数组值显示为标签,将第二个数组值显示为标题文本:
xAxis:{
类别:[“cat1-第一类和最佳类别”,
“第二类-这类产品不太受欢迎”,
"第三类",,
"第4类",,
“cat5”],
时间间隔:1,
标签:{
启用:对,
格式化程序:函数(){
//使用拆分-
var values=此.value.split(“-”);
//检查是否有多个值
如果(values.length>1){
//使用数组中的第一项作为显示的标签,第二项作为标题文本
返回“”+值[0]+'';
}否则{
//如果只有一个值,则按正常格式设置
返回此.value;
}
},
是的,
风格:{
颜色:“白色”
}
},
}
您以前尝试过什么?我们不做你的工作,我们只是帮助你;)你能提供一个JSFIDLE吗?你能展示一下你的尝试吗?提供一个代码体,生成一个示例图,然后人们可以将其更改为包含您要求的内容?什么是“cat1”的“description1”?现在我看到的是“Series1:3”,所以对于“cat1”的描述是“3”?您的代码适用于鼠标悬停在条形或直线上,当鼠标悬停在轴标签上时,我需要工具提示。“description3”是一些文本,而不是“3”。
tooltip: {
.....,
.....,
pointFormat: '<b>{point.y}</b>',
}
xAxis: {
categories: ['cat1', 'cat2', 'cat3', 'cat4', 'cat5'],
tickInterval: 1,
labels: {
enabled: true,
formatter: function() {
return '<span title="My custom title">' + this.value + '</span>';
},
useHTML: true,
style: {
color: 'white'
}
}
},
xAxis: {
categories: ['cat1 - the first and best category',
'cat2 - this category is less popular',
'cat3',
'cat4',
'cat5'],
tickInterval: 1,
labels: {
enabled: true,
formatter: function() {
// split using -
var values = this.value.split(" - ");
// check we have more than 1 value
if (values.length > 1) {
// use first item in the array as the displayed label and the second for the title text
return '<span title="' + values[1] + '">' + values[0] + '</span>';
} else {
// if only one value then format as normal
return this.value;
}
},
useHTML: true,
style: {
color: 'white'
}
},
}