为每个旭日级别设置不同的工具提示格式化程序 - Highcharts
Set a different tooltip formatter for each sunburst levels - Highcharts
我用 highcharts 创建了旭日图。我在 python 中设置了给 Highcharts.chart('type', config)
的 config
对象。我想为旭日图的每一层提供一个不同的工具提示。
我可以做一个大的 js 函数来搜索我的数据中的点的级别,然后将级别提供给工具提示格式化程序以显示特定数据,但我认为这不合适。
在series.levels[]
中是否有任何highcharts
函数来获取点的等级或定义工具提示?
您可以根据切片的 level
属性 得到它。你可以这样做:
tooltip: {
formatter: function () {
console.log(this); // see what each slice's properties are
if (this.point.node.level == 4) {
return 'Population of <b>' + this.point.options.name +
'</b> is <b>' + this.point.options.value + '</b>';
} else {
return 'Level <b>' + this.point.node.level + '</b> has no tooltip';
}
}
}
示例jsFiddle
谢谢你的回答。其实帮助我的是console.log(this)
!我不知道为什么 this
直接指向我代码中的点。而且由于我在 python 中编码,我必须将 js 函数格式化为 python 字符串,这非常困难。
所以我以这样的方式结束:
config['tooltip']['pointFormatter'] = (
"function(){"
"var level = this.node.level;"
"return"
f" {myValues}[level] + '<span style=\"text-transform: uppercase;font-weight:bold\">{myPythonVar}:</span> '"
f"+ {myJsFormatter}.call(this) + '<br>'"
"}"
)
它混合了 python 和 js,很难阅读,但在我的情况下需要。
我用 highcharts 创建了旭日图。我在 python 中设置了给 Highcharts.chart('type', config)
的 config
对象。我想为旭日图的每一层提供一个不同的工具提示。
我可以做一个大的 js 函数来搜索我的数据中的点的级别,然后将级别提供给工具提示格式化程序以显示特定数据,但我认为这不合适。
在series.levels[]
中是否有任何highcharts
函数来获取点的等级或定义工具提示?
您可以根据切片的 level
属性 得到它。你可以这样做:
tooltip: {
formatter: function () {
console.log(this); // see what each slice's properties are
if (this.point.node.level == 4) {
return 'Population of <b>' + this.point.options.name +
'</b> is <b>' + this.point.options.value + '</b>';
} else {
return 'Level <b>' + this.point.node.level + '</b> has no tooltip';
}
}
}
示例jsFiddle
谢谢你的回答。其实帮助我的是console.log(this)
!我不知道为什么 this
直接指向我代码中的点。而且由于我在 python 中编码,我必须将 js 函数格式化为 python 字符串,这非常困难。
所以我以这样的方式结束:
config['tooltip']['pointFormatter'] = (
"function(){"
"var level = this.node.level;"
"return"
f" {myValues}[level] + '<span style=\"text-transform: uppercase;font-weight:bold\">{myPythonVar}:</span> '"
f"+ {myJsFormatter}.call(this) + '<br>'"
"}"
)
它混合了 python 和 js,很难阅读,但在我的情况下需要。