highcharts - 按月显示

时间:2016-02-27 04:26:35

标签: javascript highcharts

按月分列的高图没有正确的标签,何时是一个月。

当2个月时,xAxis中的标签是jan-2016和feb-2016但是只有一个月时标签是04:59:59:999 normal:https://jsfiddle.net/rcondori/c3y1r7sn/

series: [{
    data: [{
      name: "January",
      x: 1451624399999,
      y: 52
    }, {
      name: "February",
      x: 1454302799999,
      y: 60
    }]
  }
]

坏:https://jsfiddle.net/rcondori/c3y1r7sn/1/

series: [{
    data: [{
      name: "January",
      x: 1451624399999,
      y: 52
    }
]
请帮助我。

1 个答案:

答案 0 :(得分:2)

您可以使用以下选项:

  1. 选项1 使用Highcharts API(选中example):
  2. Highcharts.dateFormat允许您设置日期格式(有关详细信息,请查看此link

    labels: {
    formatter: function() {
    return Highcharts.dateFormat('%B-%Y', this.value);
    }
    }
    
    1. 选项2: 使用JS方法:
    2. 检查以下

      var temp = new Date(this.value);
                locale = "en-ca",
                  month = temp.toLocaleString(locale, {
                    month: "long"
                  });
                return month + '-' + temp.getFullYear();  
      

      通过将变量temp设置为新Date(this.value),您可以访问x值(在本例中为日期)。 month = a.toLocalString允许您在字母而不是数字上获取月份。 这里是example

      $(function() {
        $('#container').highcharts({
          xAxis: {
            type: 'datetime',
            labels: {
              formatter: function() {
                var temp = new Date(this.value);
                locale = "en-ca",
                  month = temp.toLocaleString(locale, {
                    month: "long"
                  });
                return month + '-' + temp.getFullYear();
              }
            }
      
          },
      
      
      
          series: [{
              data: [{
                name: "January",
                x: 1451624399999,
                y: 52
              }]
            }
      
          ]
        });
      });