这段代码生成具有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 Date对象:

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


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

yAxis: {
   min: 0,
   ...
}

关于javascript - X轴显示从12到12:55的时间而不是日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29726145/

10-12 05:00