首页 文章

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

提问于
浏览
0

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

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

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

2 回答

  • 0

    你可以根据切片的 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

    坦克你的答案wergled . 事实上,帮助我的是 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,很难读,但在我的情况下需要 .

相关问题