2017-03-19 38 views
0

在Chart.js中删除最后一个单元格,所以数据之间相互放置一个。我该如何解决它? http://prntscr.com/eltpniDatas在chart.js上相互放置一个

这里是我的配置

var myChart = new Chart(ctx, { 
    type: 'line', 
    data: { 
     datasets: [] 
    }, 
    options: { 
     scales: { 
      xAxes: [{ 
       type: 'time', 
       time: {        
        displayFormats: { 
         quarter: 'MMM YYYY' 
        }, 
       } 
      }] 
     }, 
     responsive: false, 
     maintainAspectRatio:false, 
     legend: { 
      display: false 
     } 
    } 
}); 
+0

您是否在使用时间表?你可以发布你的chart.js配置吗? – jordanwillis

回答

0

既然你没有提供您的图表的配置,我假设你使用的是基于投稿图像的时间尺度。

不幸的是,chart.js有时会因为所有格式的变化和可能性而自动拟合时间尺度x轴。你可以做两件事之一来解决这个问题。要么扩大图表容器的大小(以便有更多空间来显示图表),要么手动配置时间表以优化其外观。

作为示例,您可以使用time.unit属性以“秒”为单位显示比例。这里是相关的配置:

scales: { 
    xAxes: [{ 
    gridLines: { 
     display: false, 
    }, 
    type: "time", 
    time: { 
     unit: 'second', 
    } 
    }] 
} 

这是一个codepen来说明我的意思。

但有一点需要记住的是,您的配置单元需要对图形中的数据有意义。例如,如果您尝试使用seconds的时间单位,但数据跨越多个小时或一天,那么它可能会使页面崩溃(因为在这种情况下,chart.js会尝试绘制数千个网格线/刻度线......一个用于每秒)

+0

谢谢,但是当我把这个选项用于xAxes页面挂起((也许这是因为数据格式?我在几秒钟内从JSON中获得它们 –

+0

有没有一个选项可以显示最后一列? –

+0

对不起,该例中的数据跨越多天,因此切换到'unit.second'会导致它崩溃,因为chart.js正在尝试渲染每一秒钟的1轴刻度(超过5天以上)。在我的答案中查看我更新的codepen示例。在'秒'的数量级 – jordanwillis