[英]Set the Y-axis min value for kendo line chart dynamically
我希望將y軸的最小值設置為10 less than the lowest value in the Y-axis)
。[例如,如果最小值為83.33(在Y軸上,則我希望將最小值設置為73.33)。
.ValueAxis(axis => axis
.Numeric()
.Labels(labels => labels.Format("{0}"))
.AxisCrossingValue(-10)
.Line(line => line.Visible(false))
.Color("White").Min(MinValueOf Y-axis -10)
或至少.Min(Y軸的MinValue)
我能夠解決這個問題。
$("#IndexChart").data("kendoChart").dataSource.read();
//get reference to the chart widget
var chart = $("#IndexChart").data("kendoChart");
chart.bind("dataBound", function (e) {
var data = e.sender.dataSource.view();
//alert(JSON.stringify(data));
var allVals = [];//get all Y Axis data...
for (var i = 0; i < data.length; i++) {
allVals.push(data[i].DuplicatePrice);
allVals.push(data[i].OriginalPrice);
}
var least = Math.min.apply(Math, allVals); //get the least value
e.sender.options.valueAxis.min = least - 10; //set the least-10 as min
});
只是為了補充Suk的答案,如果您要對數據進行分組,則view方法將返回一組數組。 對於此數組中的每個元素,訪問items數組以獲取當前組的數據。
// get filtered (and grouped) data
var grpData = chart.dataSource.view();
var allVals = [];
// loop through all the groups in the view
for (var grp = 0; grp < grpData.length; grp++) {
// loop through data in each group
for (var i = 0; i < grpData[grp].items.length; i++) {
allVals.push(grpData[grp].items[i].DuplicatePrice);
allVals.push(grpData[grp].items[i].OriginalPrice);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.