簡體   English   中英

動態設置劍道折線圖的Y軸最小值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM