为每个旭日级别设置不同的工具提示格式化程序 - Highcharts



我创建了一个带有高图表的旭日图。我在python中设置了config对象给Highcharts.chart('type', config)。我想为旭日图的每个级别提供一个不同的工具提示。

我可以做一个大的js函数,在我的数据中搜索点的水平,然后将级别提供给工具提示格式化程序以显示特定数据,但我认为这不合适。

是否有任何highcharts函数来获取点的级别或在series.levels[]中定义工具提示?

你可以根据切片的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,很难阅读,但在我的情况下是必需的。

最新更新