我遇到了剑道图表的y轴标签问题。
如果我有大值,它显示正常,它适应并显示相应步进的标签:说值从0到100,标签自动步骤为0,20,40,60,80,100。所有好的
但是对于较低的值,它们会重复出现,如下所示:
经过一些研究,我试图将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
但是,对于较高的值,它会为每一个标签生成一个标签,导致一些重叠:
我无法在dataBound上设置MajorUnit,因为我在图表中有多个系列,有些从0到2,其他从0到200。
我该如何解决这个问题?
答案 0 :(得分:1)
你必须调整&#39; categoryAxis.labels.step&#39;动态地在Chart&#39; dataBound&#39;事件
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
答案 1 :(得分: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();
}