2016-07-29 130 views
0

我遇到了劍道圖的y軸標籤問題。劍道圖y軸標籤問題

如果我有很大的值,它顯示得很好,它適應並顯示相應的標籤:假設值從0到100,標籤自動步進像0,20,40,60,80,100。好。

但對於較低的值,他們得到反覆,如下圖所示:

Repeated

經過一番研究,我試圖MajorUnit屬性設置爲1,例如,它固定它的較低值:

 .ValueAxis(axis => axis.Numeric() 
      .Labels(l => l.Format("N0")) 
      .MajorGridLines(lines => lines.Visible(true)) 
      .MajorTicks(lines => lines.Visible(true)) 
      .MajorUnit(1) // <----------- this one 

low values fixed

然而,對於高價值,它使每一個label的英格爾一個,導致一些重疊:

high values screwed up

我不能設置MajorUnit上的數據綁定,因爲我有在圖表中的多個系列,部分範圍從0到2等從0到200。

我該如何解決這個問題?

+0

如果您將標籤格式化爲允許一個deci錯誤的地方,然後讓步驟自動計算圖表? – ezanker

+0

我試過類似@ezanker的東西,但沒有運氣 – chiapa

回答

0

我會設置圖表高度成正比類別軸數

dataBound: function (e) { 
       var axis = e.sender.options.categoryAxis; 
       $(e.sender.element).css("height", axis.categories.length * 45); 
       $(e.sender.element).data("kendoChart").redraw(); 
       } 
+0

我不能改變頁面的佈局,否則,我會。謝謝你的建議,雖然 – chiapa

1

你必須調整 'categoryAxis.labels.step' 動態上的圖表 '數據綁定' 事件

function dataBound(e) { 
var chart = $("#chart").data("kendoChart"); 
if ([*MajorUnitData*].length > 4) { 
    chart.options.categoryAxis.labels.step = 10; 
} 
else { 
    chart.options.categoryAxis.labels.step = 1; 
}  

}

請參閱此鏈接:http://mikaelkoskinen.net/post/kendoui-dataviz-tips-and-tricks

+0

是的,這很好,當你只有一個系列。這樣,無論它返回5或5000條記錄,您都可以相應地設置步驟(+1)。但我的問題是,我有多個系列,具有不同的數值範圍,所以如果我將步驟設置爲適合一個,我將不適合另一個 – chiapa

+0

您可以獲取所有系列的組合值的最小值和最大值,以及調整標籤步驟。 – Vijai

+0

那麼,如果我的系列的範圍從0到3,其他從0到200的範圍,那麼對於步驟值,您會有什麼建議? – chiapa