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

时间:2018-08-29 16:37:29

标签: highcharts sunburst-diagram

我用 highcharts 创建了一个朝阳图。我在python中设置了给config的{​​{1}}对象。我想为朝阳图表的每个级别提供一个不同的工具提示。

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

是否有任何Highcharts.chart('type', config)函数来获取点的水平或在highcharts中定义工具提示?

2 个答案:

答案 0 :(得分:1)

您可以基于切片的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

答案 1 :(得分:0)

向您询问您的答案是否正确。实际上,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混合在一起,很难阅读,但就我而言是必需的。