2016-07-29 2 views
0

검도 차트의 y 축 레이블에 문제가 있습니다.검도 차트 y 축 레이블 문제

값이 큰 경우 잘 표시되고 적절하게 스테핑하는 라벨이 표시됩니다. 값이 0에서 100까지이고 레이블 단계는 자동으로 0, 20, 40, 60, 80, 100과 같습니다. 모두 좋은. 아래 그림과 같이

그러나 낮은 값에 대한

, 그들은 반복 얻을 : 몇 가지 조사 후

Repeated

, 나는 예를 들어, 1로 MajorUnit 속성을 설정했는데, 그것은 낮은 값을 고정 :

 .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

그러나, 높은 값도 모든의 레이블 s에 있습니다 화롯불 하나, 일부 중첩되지 : I 차트에 여러 시리즈를 가지고 내가 바인딩에 MajorUnit를 설정할 수 없습니다

high values screwed up

을 0에서 200

0에서 2 등까지 일부

어떻게 해결할 수 있습니까? 내가 범주 축에 비례하여 차트의 높이를 설정합니다

+0

어떻게하면 하나의 deci 다음 단계를 차트에서 자동으로 계산할 수 있습니까? – ezanker

+0

나는 그 같은 @ ezanker 같은 것을 시도했지만 행운이 없다. – chiapa

답변

0

당신은 '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; 
}  

}

을 조정해야
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

을 계산

이 링크를 참조하십시오 : http://mikaelkoskinen.net/post/kendoui-dataviz-tips-and-tricks

+0

그래, 시리즈가 하나 뿐이라면 좋습니다. 그렇게하면 5 개 또는 5000 개의 레코드를 반환하는 것과 관계없이 그에 따라 단계를 설정할 수 있습니다 (+1). 하지만 내 문제는 내가 여러 가지 값의 범위를 가진 여러 시리즈를 가지고 있기 때문에 하나에 맞게 단계를 설정하면 다른 하나에 맞지 않을 것입니다. – chiapa

+0

모든 시리즈와 레이블 단계를 조정하십시오. – Vijai

+0

0에서 3까지의 계열과 0에서 200까지의 계열을 갖는다면 무엇을 제안할까요? – chiapa