X 轴显示从 12 到 12:55 的时间而不是日期

X axis shows the time from 12 till 12:55 instead of dates

此代码生成具有 2 个 Y 轴和 1 个 X 轴的图表:

$('#main_chart').highcharts({
      chart: {
          zoomType: 'xy'
      },
      title: {
          text: 'Overview'
      },
      xAxis: [{
          type: 'datetime'
      }],
      yAxis: [{ // Primary yAxis
          labels: {
              format: '${value}',
              style: {
                  color: Highcharts.getOptions().colors[1]
              }
          },
          title: {
              text: 'Y1',
              style: {
                  color: Highcharts.getOptions().colors[1]
              }
          }
      }, { // Secondary yAxis
          title: {
              text: 'Y2',
              style: {
                  color: Highcharts.getOptions().colors[0]
              }
          },
          labels: {
              style: {
                  color: Highcharts.getOptions().colors[0]
              }
          },
          opposite: true
      }],
      tooltip: {
          shared: true
      },
      legend: {
          layout: 'vertical',
          align: 'left',
          x: 120,
          verticalAlign: 'top',
          y: 100,
          floating: true,
          backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'
      },
      scrollbar: {
        enabled: true
      },
      series: [{
          name: 'Y1',
          data: y1Data
      }
      ,{
          name: 'Y2',
          data: y2Data
      }
      ]        
  });

y1Data 和 y2Data 是数组的数组 [[1426525200, 2], [1426611600, 0], [1426698000, 0]...],其中第一个元素是日期。日期以 1 天为步长连续:

1 Mar 2015, 2 Mar 2015, 3 Mar 2015....

但是,我在 X 上只看到从 12:00 到 12:55 的时间,没有别的:

我想看的是日期1 Mar 2015, 2 Mar 2015, 3 Mar 2015.... EndDate。此外,为什么还有负 20 美元?数据集中没有负值。

定义数据时,要么提供以 毫秒为单位的时间戳 (不是秒),要么使用 JavaScript 日期对象:

var y1Data = [[new Date(), 2], [1426611600000, 0], [Date.UTC(2010, 2, 1), 0]];

为了回答您的 $-20 问题,Highcharts 使用他们自己的算法 猜测 最合适的轴最小值和最大值。如果您对此不满意,只需设置

yAxis: {
   min: 0,
   ...
}