Javascript 剑道股票图不正确的外推与阶梯线图

Javascript 剑道股票图不正确的外推与阶梯线图,javascript,kendo-ui,Javascript,Kendo Ui,我们试图用剑道UI模拟阶梯面积图,以表示一天中致动器在一段时间内移动的方向/位置(+1表示顺时针方向,-1表示逆时针方向)。致动器完成过渡的时间段不是恒定的 代码包含在下面(或者请随时使用以下JSFIDLE以避免任何设置)。我们使用Kendo Stockchart是因为它提供了一个互补的导航器组件,允许用户将图形限制在所需的时间段内。然而,我们在图表api中发现了一些奇怪的地方,尤其是当数据集有很大的时间间隔时。如下面的示例所示,我们从接收间隔为1秒的输入开始。在图表上绘制这些图形可以获得我们期

我们试图用剑道UI模拟阶梯面积图,以表示一天中致动器在一段时间内移动的方向/位置(+1表示顺时针方向,-1表示逆时针方向)。致动器完成过渡的时间段不是恒定的

代码包含在下面(或者请随时使用以下JSFIDLE以避免任何设置)。我们使用Kendo Stockchart是因为它提供了一个互补的导航器组件,允许用户将图形限制在所需的时间段内。然而,我们在图表api中发现了一些奇怪的地方,尤其是当数据集有很大的时间间隔时。如下面的示例所示,我们从接收间隔为1秒的输入开始。在图表上绘制这些图形可以获得我们期望看到的形状。然而,添加现在相隔数小时的其他数据点(请取消对所示数据点的注释),我们发现图表api似乎以某种方式错误地推断了早期数据点

当使用导航器将图表限制在早期(凌晨2点到2:30之间)时,我们会再次获得原始形状。但是,我们希望在不必这样做的情况下显示相同的形状(即,阻止api以数据点之间的大间隔推断数据点)。在此问题上提供任何帮助和建议都将不胜感激

 var dataForSource = [{

     date: new Date("December 16, 2013 02:06:00 AM"),
     Count: 0
 }, {
     date: new Date("December 16, 2013 02:07:00 AM"),
     Count: 1
 },

 {
     date: new Date("December 16, 2013 02:09:00 AM"),
     Count: 0
 }, {
     date: new Date("December 16, 2013 02:09:15 AM"),
     Count: -1
 },

 {
     date: new Date("December 16, 2013 02:09:45 AM"),
     Count: 0
 },


 {
     date: new Date("December 16, 2013 02:10:00 AM"),
     Count: -1
 }, {
     date: new Date("December 16, 2013 02:15:00 AM"),
     Count: 0
 }


 //Uncomment these out to see issue
 /*                    
 , {
    date: new Date("December 16, 2013 04:10:01 PM"),
  Count: -1
 }

 , {
     date: new Date("December 16, 2013 11:55:00 PM"),
     Count: 0
 } */
 ];


 var staticDataSource = new kendo.data.DataSource({
     type: "line",
     data: dataForSource
 });

 function createChart() {
     $("#chart").kendoStockChart({
         dataSource: staticDataSource,

         dateField: "date",

         series: [{
             type: "line",
             style: 'step',
             //missingValues: "interpolate",
             field: "Count",
             categoryField: "date"
         }],

         xAxis: {
             baseUnit: "seconds"
         },


         navigator: {
             series: {
                 type: "line",
                 style: 'step',
                 field: "Count"
             },

             xAxis: {
                 baseUnit: "hours"
             },
         }

     });
 };

 $(document).ready(createChart);

首先,您在示例中使用了错误的baseUnit。它是
categoryAxis
not
xAxis
的属性,在这里似乎不起作用

您需要选择要在图表中显示的内容,当您显示长时间段时,默认情况下,数据是聚合的,以显示在您在
baseUnit
属性中定义的组中。要“关闭”,应将其设置为最小可用选项:分钟。现在你的图表中有了所有的数据点,但看起来更糟,只要看看我为你准备的JSFIDLE,看看我的意思:

问候