【问题标题】:Highcharts Pie Chart: How to ignore disabled legend itemsHighcharts 饼图:如何忽略禁用的图例项
【发布时间】:2015-05-11 15:33:28
【问题描述】:

请看这个JSFiddle

在此示例中,您可以在左上角看到所有值的总和。

如果您单击任何图例项,它将被禁用,但总值不会反映它。应更新文本以不包括该禁用项目。我该怎么做?

【问题讨论】:

    标签: javascript highcharts pie-chart


    【解决方案1】:

    虽然 Ondkloss 的回答很好。但是我找到了一个更简单的解决方案,即使用重绘事件而不是加载。 JSFiddle

    【讨论】:

      【解决方案2】:

      您可以使用legendItemClick 事件通过保留对Element 的引用来更新呈现的文本。例如:

      var totalText;
      
      var chart = new Highcharts.Chart({
          chart: {
              events: {
                  load: function(event) {
                      totalText = this.renderer.text(
                          'Total: ' + total,
                          this.plotLeft,
                          this.plotTop - 20
                      ).attr({
                          zIndex: 5
                      }).add()
                  }
              }
          }
      
          //...
      
          plotOptions: {
              pie: {
                  point: {
                      events: {
                          legendItemClick: function(e) {
                              var newTotal = this.series.total + (this.visible ? -this.y : this.y);
                              totalText.attr({ text: 'Total: '+newTotal });
                          }
                      }
                  }
              }
          }
      });
      

      请参阅this updated JSFiddle 进行演示。

      【讨论】:

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