【问题标题】:Hiding label guidelines on Highcharts pie charts在 Highcharts 饼图中隐藏标签指南
【发布时间】:2013-04-09 12:23:16
【问题描述】:

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

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

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

【问题讨论】:

    标签: highcharts


    【解决方案1】:

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

    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");
    
      ...
     }
    

    【讨论】:

    • 好吧,但是为什么不能使用 return null 呢?
    • 不幸的是,返回 null 似乎不会导致空饼切片指南消失。
    【解决方案2】:

    你可以尝试使用:

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

    【讨论】:

      【解决方案3】:

      使连接器宽度为 0。

      dataLabels: {
          connectorWidth: 0,
          ...
      }
      

      【讨论】:

        猜你喜欢
        • 2017-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多