Reputation: 125
I want to limit the number of labels in the categoryAxis of my kendo chart.
So far I've calculated an automatic step from the number of data points and the width of the chart and it's worked great. But I'm starting to receive some data that triggers Kendo's automatic date label format switch to minutes and now I have 60 times more labels than I should, which creates huge amounts of lag (and makes the chart unreadable).
I've looked into setting a maxDateGroup, but that actually reduces the number of categories, thus ignoring some of the data.
I found a way to get the number of labels on kendo's forums :
// get reference to the chart widget
var chart = $("#chart").data("kendoChart");
// get the categories length
chart._plotArea.categoryAxis.children.length
But it requires to draw the chart first, then read the property, then adjust accordingly and redraw the chart. Which isn't exactly ideal.
So I'm wondering if there is a way to set a max number of labels, or maybe limit labels to 1 per category ? Or any other trick-shot really :)
Note : this automatic switch works great for data that actually is recorded every minutes, but the series that's causing me problems is recorded every 30 minutes. Maybe there is some workaround here but I can't recall where I saw how to fiddle with these properties.
Upvotes: 0
Views: 1552
Reputation: 1516
I recently encountered the same problem and fine-tuned the labels with the following settings:
milliseconds: "dd.MM yyyy",
Math.floor(container.width() / 200) * 10
All of this is assuming I have categoryAxis.baseUnit
set to "fit"
, since I can't assume much about my data.
Upvotes: 1