2014-09-10 123 views
4

我有一個數據集,每行有一個id和一個name屬性。 id屬性是唯一鍵,name可能是重複的。我希望名稱顯示在Dimple.js圖表​​的類別軸上。Dimple.js軸標籤

如果我使用「名稱」作爲chart.addCategoryAxis的參數,繪製了正確的標籤,但具有重複名稱的用戶被分組爲單條。 如果我使用「id」作爲參數,這些條被分隔,但是標籤錯誤。

是否有一個「酒窩」的方式來實現這一點,或者我應該可以:

插圖本(點擊切換按鈕,明白我的意思):http://jsbin.com/bupamo/4/edit?js,output

+0

好問題!我一直在尋找這樣的事情。對於我的用例來說,這是一個相當重要的特性,如果直接由dimple支持,它會很好。 (但它的好處可以通過一些自定義代碼來實現) – 2015-05-21 19:02:14

回答

3

謝謝你的美好明確的解釋。這不是真正的東西是原產於酒窩,但是你可以通過與ID圖,並在事後更換他們實現這一目標:

您還需要作出這樣的一對夫婦的其他調整的:

// Set the title before drawing 
xAxis.title = 'name'; 
// Draw the axis with id's 
chart.draw(0, false); 
// Now set the category fields to name so that the tooltips are correct 
xAxis.categoryFields = ['name']; 
// Select the ID labels and replace the text with names 
xAxis.shapes 
    .selectAll("text") 
     .text(function (d) { 
      var i; 
      for (i = 0; i < initialData.length; i += 1) { 
       if (initialData[i].id === d) { 
        return initialData[i].name; 
       } 
      } 
     }); 

http://jsbin.com/lezocu/4/edit?js,output

+0

John,感謝您的建議!我正在尋找這種事情。顯然這不是一個非常受追捧的功能,因爲我沒有在任何文檔中看到任何提及,或者用戶的例子或博客文章。但對我來說這是一個基本特徵。如果它直接受到dimple的支持,它會很酷,但我當然可以用一些自定義代碼來實現它。再次感謝這個答案! – 2015-05-21 19:03:59