使用javascript删除剑道图属性

使用javascript删除剑道图属性,javascript,charts,kendo-ui,Javascript,Charts,Kendo Ui,我有一个剑道柱状图,当通过日期选择器设置不同的标准时,数据源会被刷新 我想阻止图表将值轴显示为十进制,到目前为止,我找到的唯一方法是设置格式,这会导致数字重复,或者设置大单位,如果数据发生变化,则会导致值轴标签重叠。两者都不合适 我现在能想到的唯一方法是根据我的最大值是否小于10动态设置主单位,如果小于10,则主单位设置为1,如果不小于,则不设置主单位 这应该可以很好地工作,但是,如果主单位设置为1,并且数据发生变化,我现在需要找到一种方法来清除主单位,如果我的新最大值大于10 在javascr

我有一个剑道柱状图,当通过日期选择器设置不同的标准时,数据源会被刷新

我想阻止图表将值轴显示为十进制,到目前为止,我找到的唯一方法是设置格式,这会导致数字重复,或者设置大单位,如果数据发生变化,则会导致值轴标签重叠。两者都不合适

我现在能想到的唯一方法是根据我的最大值是否小于10动态设置主单位,如果小于10,则主单位设置为1,如果不小于,则不设置主单位

这应该可以很好地工作,但是,如果主单位设置为1,并且数据发生变化,我现在需要找到一种方法来清除主单位,如果我的新最大值大于10

在javascript中,我有:

if (highest <= 10) {
   chart.data("kendoChart").options.valueAxis.majorUnit = 1;
} else {
   chart.data("kendoChart").options.valueAxis.majorUnit.remove(); // This does not work
}

if(最高您有没有示例?
如果只是隐藏值轴线,是否有帮助


你有没有举个例子? 如果只是隐藏值轴线,是否有帮助


这就是我的工作原理:

chart.data("kendoChart").options.valueAxis.majorUnit = undefined;
别忘了打电话

chart.data("kendoChart").refresh();

这就是我的工作原理:

chart.data("kendoChart").options.valueAxis.majorUnit = undefined;
别忘了打电话

chart.data("kendoChart").refresh();

如果您使用的是datasource,则可以将此代码放入requestEnd函数中,因此不需要刷新图表:

$("#chart").kendoChart({
    dataSource: {
        transport: {
            read: {
                url: url,
                dataType: "json",
                type: 'POST'
            }
        },
        // This is to set a step that looks appropriate for the size of the graph
        requestEnd: function(e){
            var max = 1;

            // Iterate over your own data as you need, here my data returns "Category" and "Count" in each row.
            e.response.forEach(function(row){
                if(row.Count > max)
                    max = row.Count;
            });

            if(max <= 10)
                $("#chart").data('kendoChart').options.valueAxis.majorUnit = 2;
            else
                $("#chart").data('kendoChart').options.valueAxis.majorUnit = undefined;
        },
    },
$(“#图表”).kendoChart({
数据源:{
运输:{
阅读:{
url:url,
数据类型:“json”,
类型:“POST”
}
},
//这是为了设置一个看起来适合于图形大小的步骤
requestEnd:函数(e){
var max=1;
//根据需要迭代您自己的数据,这里我的数据在每一行中返回“Category”和“Count”。
e、 response.forEach(函数(行){
如果(row.Count>max)
max=行数;
});

如果(max如果您使用的是数据源,则可以将此代码放入requestEnd函数中,因此不需要刷新图表:

$("#chart").kendoChart({
    dataSource: {
        transport: {
            read: {
                url: url,
                dataType: "json",
                type: 'POST'
            }
        },
        // This is to set a step that looks appropriate for the size of the graph
        requestEnd: function(e){
            var max = 1;

            // Iterate over your own data as you need, here my data returns "Category" and "Count" in each row.
            e.response.forEach(function(row){
                if(row.Count > max)
                    max = row.Count;
            });

            if(max <= 10)
                $("#chart").data('kendoChart').options.valueAxis.majorUnit = 2;
            else
                $("#chart").data('kendoChart').options.valueAxis.majorUnit = undefined;
        },
    },
$(“#图表”).kendoChart({
数据源:{
运输:{
阅读:{
url:url,
数据类型:“json”,
类型:“POST”
}
},
//这是为了设置一个看起来适合于图形大小的步骤
requestEnd:函数(e){
var max=1;
//根据需要迭代您自己的数据,这里我的数据在每一行中返回“Category”和“Count”。
e、 response.forEach(函数(行){
如果(row.Count>max)
max=行数;
});

如果(max不幸的是,我不能只隐藏比例,我希望能够看到它,我只想删除MajorUnit属性。我认为您可能可以像删除html元素上的属性一样执行此操作,但如果可能的话,我不知道语法。如果可以,制作一个JSFIDLE示例,以便我们可以详细了解实际问题。这就是由于没有明显的方法移除大单位,我最终做了。我创建了两个值轴,然后在我检查最高值的地方,我要么隐藏,要么显示正确的值轴。看起来很可笑,你不能只移除大单位,但不必担心。不幸的是,我不能只隐藏比例,我希望能够隐藏我只是想删除MajorUnit属性。我想你可以像删除html元素上的属性那样来做,但如果可能的话,我不知道语法。如果可以,请制作一个JSFIDLE示例,以便我们可以详细了解实际问题。这就是我最后做的,因为没有明显的方法来删除主要单元。我已经创建了两个值轴,然后在我检查最高值的地方,我要么隐藏,要么显示正确的值轴。看起来很可笑,你不能只删除主要单位,而不删除。