【问题标题】:Is it possible to remove the Labels which are "zero" in Kendo pie chart?是否可以删除剑道饼图中“零”的标签?
【发布时间】:2018-05-25 19:39:59
【问题描述】:

是否可以删除显示“0%”的剑道饼图标签。但是我们可以显示图例,尽管没有数据。

下面是一个显示“0%”雨的链接。

http://dojo.telerik.com/ewALo

请向我提出您宝贵的想法。谢谢。

【问题讨论】:

    标签: kendo-ui kendo-chart


    【解决方案1】:

    您可以使用 labels.visual 属性。使用“#: value #%”的模板,如果文本不是“0%”,则仅在可视属性中返回标签:

      labels: {
        visible: true,                   
        position: "insideEnd", 
        template: "#: value #%",
        visual: function(e) {
          if (e.text != "0%") {   
            return e.createVisual(); 
          }
        }
      }
    

    更新DEMO

    更新:这也可以通过标签模板轻松完成:

    labels: {
      visible: true,                   
      position: "insideEnd", 
      template: "#if (value > 0) {# #: value #% #}#",  
    }
    

    DEMO

    【讨论】:

    • 感谢ezanker。抱歉,我没有提到我用来执行此操作的 Kendo UI 包。它是“2015.1.318”。我认为最新版本支持 lab​​els.visual 属性。我仍在尝试解决方法。
    • @Karthik,我意识到你可以只用一个模板来做到这一点:模板:“#if (value > 0) {# #: value #% #}#” 演示:dojo.telerik.com/@ezanker/ipeyoT跨度>
    • 好朋友。你动摇了。非常感谢您的努力。享受您的年终,并有一个成功的 2018 年。提前祝您圣诞快乐..
    【解决方案2】:

    您可以从 dataSource 视图数据中删除具有零值的项目。

    , dataBound: (function(e) {
        var oa = e.sender.dataSource.view();
        for (var i = oa.length-1; i >= 0; i--) {
          if (oa[i].percentage == 0) { oa.splice(i,1); }
        }
      })
    

    当然,此调整也从图例中删除了雨项目。我认为这没问题——在图例中有一个没有相应切片或类别标签的项目可能会令人困惑。

    【讨论】:

    • 谢谢理查德。我同意你的看法。如果 Rain 项目没有任何值,我们就没有必要显示它。但是业务需求是另一种方式,他们需要图例。这总有一天会对我有所帮助。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多