我创建了一个带有高图表的旭日图。我在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,很难阅读,但在我的情况下是必需的。