传奇重复

时间:2015-06-12 19:56:04

标签: javascript kendo-ui kendo-chart

我有以下实现,它是有效的。

我想知道如何能够修复当前实现中的图例副本。请观看fname="NY"

enter image description here

for (var i=0;i<e.series.data.length;i++){
  if (e.series.data[i].valueColor != "" && e.series.data[i].fname != "") {
    color = e.series.data[i].valueColor,
    legendName=e.series.data[i].fname
  }
}

FIDDLE

1 个答案:

答案 0 :(得分:1)

通过记录您正在绘制的数据,您可以看到为6个项目调用代码。如果您在标签上添加category,则可以看到正在为男士和女士的商品创建图例:

example

您应该调试实际生成标签的数据结构。

http://jsfiddle.net/xmufd8t0/1/在控制台中显示: data

您如何使用此循环似乎存在问题:您始终使用e.series.data中的最终元素。如果您想要第一个非空fname,则在设置break;后应该有legendName。否则,它会使数组中的最后一项非空。

无论如何 - 要回答你的问题,你需要在@honerlawd的评论中提到重复数据删除。这是重复数据删除修复:

// outside your function, where you have `debugger`
var dedupes = {};

....

// skip labels that have already been added
if (dedupes.hasOwnProperty(legendName)) {
    return;
}
dedupes[legendName] = 1;