Highcharts-仅显示xAxis中的年份

Highcharts-仅显示xAxis中的年份,highcharts,Highcharts,我按年份对数据进行了分组,只想显示2个条形图(2014+2015) 你知道为什么highchart也包括两条线之间的月份吗 "chart": { "type": "column" }, "plotOptions": { "column": { "stacking": "normal" }, }, "series": [ { "data": [ [1388534400000,88]

我按年份对数据进行了分组,只想显示2个条形图(2014+2015)

你知道为什么highchart也包括两条线之间的月份吗

"chart": {
      "type": "column"
    },
    "plotOptions": {
      "column": {
        "stacking": "normal"
      },
    },
  "series": [
    {
      "data": [
        [1388534400000,88]
      ],
      "name": "First",
      "id": "series-8"
    },
    {
      "data": [
        [1388534400000,39]
      ],
      "name": "2nd",
      "id": "series-9"
    },
    {
      "data": [
        [1420070400000,34]
      ],
      "name": "3rd",
      "id": "series-10"
    }
  ],
  "xAxis": {
    "type": "datetime",
    "dateTimeLabelFormats": {
      "year": "%Y"
    }
  }
jsfiddle:

我只希望x轴上有2014年和2015年的标签。

对于“为什么图表显示月份”的答案很简单,就是在要显示的数据点之间有几个月,而图表无法知道您不想显示它们

可能有很多解决方案,但我会使用
pointRange
属性-告诉图表每列代表一年,它会相应地显示:

pointRange:86400000 * 365//one year
例如:

默认情况下,它会将年份显示为标签。如果显示/隐藏序列,则可能会发生更改。还有许多方法可以格式化标签

标签格式参考:

对于“为什么图表显示月份”的答案很简单,在要显示的数据点之间有几个月,而图表无法知道您不想显示它们

可能有很多解决方案,但我会使用
pointRange
属性-告诉图表每列代表一年,它会相应地显示:

pointRange:86400000 * 365//one year
例如:

默认情况下,它会将年份显示为标签。如果显示/隐藏序列,则可能会发生更改。还有许多方法可以格式化标签

标签格式参考:


您可以将点范围定义为1年(365*24*3600*1000,时间单位为毫秒),并使用相同的值设置tickInterval

"plotOptions": {
  "column": {
  pointRange: 365 * 24 * 3600 * 1000,
    "stacking": "normal"
  },
},
"xAxis": {
    tickInterval: 365 * 24 * 3600 * 1000,
  "type": "datetime",
  "dateTimeLabelFormats": {
    "year": "%Y"
  }
}

示例:

您可以将点范围定义为1年(365*24*3600*1000,时间单位为毫秒),并使用相同的值设置tickInterval

"plotOptions": {
  "column": {
  pointRange: 365 * 24 * 3600 * 1000,
    "stacking": "normal"
  },
},
"xAxis": {
    tickInterval: 365 * 24 * 3600 * 1000,
  "type": "datetime",
  "dateTimeLabelFormats": {
    "year": "%Y"
  }
}
例如: