首页 文章

在Highcharts饼图上隐藏标签指南

提问于
浏览
4

在Highcharts中,我一直在使用dataLabel格式化程序为零值返回空字符串值 . 这有效地将标签隐藏为零值 . 但是,在饼图上,即使切片的值为零,也会有指向每个饼图切片的指南 . 如果不直接操作DOM元素,我似乎无法删除这些指南 . 我想将空饼图保留在图表中,因为我是根据用户操作的过滤条件动态更新图表,但我想隐藏指向空饼图的指南 .

有没有人知道配置Highcharts的方法删除指向空饼图的指南?我可以使用下面的格式化程序清除标签本身:

formatter: function ()
{
   var y = this.y;
   if (y == 0)
     return "";
   ...
}

3 回答

  • 1

    您可以尝试使用:

    if(this.y == 0)
                                return null    
                            else
                                return this.y
    
  • 2

    当格式化程序函数评估要显示的值时,上下文可以访问引导线路径元素 . 我可以通过对格式化程序进行以下更改来隐藏指南:

    formatter: function ()
    {
      var y = this.y;
      //Hide the labels for empty pie slices
      if (y == 0)
      {
        //If there is a pie chart label guideline, hide it
         if (this.point.connector)
            $(this.point.connector.element).attr("stroke", "#FFFFFF");
        return "";
      }
      //If the label guideline was previously hidden, show it
      if (this.point.connector)
         $(this.point.connector.element).attr("stroke", "#000000");
    
      ...
     }
    
  • 0

    使连接器宽度为0 .

    dataLabels: {
        connectorWidth: 0,
        ...
    }
    

相关问题