如下效果:
tooltip.formatter
函数中可以自定义 tooltip
的显示内容,具体请看 API 和 DEMO:
http://api.highcharts.com/highcharts#tooltip--formatter
http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts....
series数据列的data属性写成[{y:10,extra:name}]
形式,extra为额外的变量,然后用this.point.extra访问。
tooltip:{
formatter: function () {
return 'extra:<b>' + this.point.extra + '</b><br>数量:<b>'+this.y + '</b>';
}
}
................
data: [
{
x:xValue,
y:yRatio,
id:'id_'+ i,
myData:toolTipContents,
events:{
mouseOver:function(event){
//alert("mouseover");
//console.log(this);
//console.log(this.options.myData);
//chart.get('highest');
}
}
}],
.....
tooltip: {
shared: true,
useHTML: true,
headerFormat: '<b>'+specDateTimeStr+'{series.name}</b><br><table>',
pointFormat: '{point.options.myData}',
footerFormat: '</table>'
},
toolTipContents 可以使用HTML格式
formatter: function () {
let strHtml = '<table>';
this.points.forEach(el => {
strHtml += `<tr><td style="color: ${el.series.color};font-weight: bold">${el.series.name}: </td><td style="text-align: right"><b>${el.point.name} ${el.point.y}</tr><td></td></tr>`
});
strHtml += '</table>';
return strHtml
},
遇到这个问题,完成了给个参考
数据:[
data: [{y: 2, name: 'a'}, {y: 2, name: 'abc'}, {y: 18, name: 'a21'}]},
data: [{y: 21, name: 'aasa'}, {y: 32, name: 'sabc'}, {y: 12, name: 'a21'}]}
]
部分的代码,可以做到很好的自定义了
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
刚才看了下源码,可能我看的不是很清楚,目前我看到的结果是如果不改动源码的话,这个功能貌似不行
源码中有这么一段:
所以使用format的时候貌似只能替换这几个值,我暂时没有找到可以设置的地方
series的translate方法中有这几个值的计算方法