c3时间序列图 - 如何使X值没有初始Y值

时间:2017-03-20 03:59:41

标签: javascript c3.js

我有一个C3 timeseries chart我希望在一天中每15分钟显示一堆,以便当天占用整个X轴,然后只显示数据随着时间的推移而数据到来英寸

我有以下设置..

var now = new Date().toISOString();

  this.lineChart = generate({
    bindto: '#line',
    transition: {
      duration: 1000
    },        
    data: {
      x: 'x',
      xFormat: '%Y-%m-%dT%H:%M:%S.%LZ',
       columns: [
      ['x', now], 
      ['data1', 0]                   
    ]
    },
    axis: {
      x: {
        type: 'timeseries',
        localtime: true,
        tick: {
          format: '%H:%M %p',
          culling : true,
          rotate : 60
        }
      }
    }
  });

然后我按如下方式加载日期..

let shiftStart = new Date(startDateTime);
  let endTime = new Date(endDateTime);
  let nextDate = shiftStart;
  let dates = new Array<string>();
  dates.push(nextDate.toISOString());
  let data = [];
  while (nextDate <= endTime) {
    nextDate = moment(nextDate).add(30, 'm').toDate();
    dates.push(nextDate.toISOString());
    data.push(0); // to make them show up!
  }

  this.lineChart.load({
    columns: [
      ['x', ...dates],
      ['myData', ...data]          
    ]
  })

似乎我必须添加上面的data才能让时间显示。

我想要......

while (nextDate <= endTime) {
    nextDate = moment(nextDate).add(30, 'm').toDate();
    dates.push(nextDate.toISOString());
  }

  this.lineChart.load({
    columns: [
      ['x', ...dates],
    ]
  })

并且为此仅显示X轴的时间,而没有Y轴的值(尚未)

这可能吗?

任何帮助都非常感谢!

1 个答案:

答案 0 :(得分:0)

事实证明,你可以使用NaN来获得我想要的东西......

enter image description here

现在只是计算出那些不均匀的刻度,并截断最后的刻度值......