Javascript 如何从最左侧点开始获取Highcharts X轴类别

Javascript 如何从最左侧点开始获取Highcharts X轴类别,javascript,highcharts,Javascript,Highcharts,我有一个Highcharts区域图,X轴上有字符串类别。 我希望图表从x轴的最左边开始,在最右边结束,没有任何填充。在下图中,红色箭头显示了我想要消除的间距。没有文本分类,这是很容易实现的,但有了文本分类,我似乎无法理解。 谢谢你的帮助 只需添加: ... xAxis: { startOnTick: true, ... }, ... 您需要以下设置 xAxis: { plotLines: [{ value: 0, color: '#color

我有一个Highcharts区域图,X轴上有字符串类别。 我希望图表从x轴的最左边开始,在最右边结束,没有任何填充。在下图中,红色箭头显示了我想要消除的间距。没有文本分类,这是很容易实现的,但有了文本分类,我似乎无法理解。 谢谢你的帮助

只需添加:

...
xAxis: {
  startOnTick: true,
  ...
},
...

您需要以下设置

xAxis: {           
  plotLines: [{
    value: 0, 
    color: '#color'
  }],
  tickmarkPlacement: 'on'
},
yAxis: {           
  lineWidth: 0,
}

通过在axis上重新定义labels.formatter,可以获得所需的结果。在这里

但是,如果您想保持它的简单性,并以传统方式传递
axis.categories
(我认为这是一种更好的方式),我建议您使用一个小小的hack并重新定义
axis.init
函数。试穿一下


UPD:我已经稍微更新了我以前的小提琴。我认为您可以将我的所有解决方案结合起来,得到一个更好的解决方案。

您可以使用spacingLeft和spacingRight设置间距:

chart: {
         renderTo: 'chart1',
         type: 'area',
         spacingLeft: -21,      
         spacingRight: -21,      
         spacingBottom: 1
},

更干净的解决方案是使用中提供的
pointPlacement
参考

添加
pointPlacement:'on'
,您就应该开始工作了。(供参考)


这个解决方案对我很有效,也许有帮助。我无法确认这是否适用于其他输入数据的方式。

@RossDeane在你使用类别的小提琴中,在你上面的图像中,看起来你没有使用类别。类别具有一定的宽度,并且点将始终位于类别的中心。感谢您的回复。我确实在问题中提到了字符串类别,如果我不清楚的话,很抱歉。那么这是不可能的(哦,对了,你提到了类别。对不起,但我认为类别意味着点中心的填充。嗯,好吧,那太可惜了。再次感谢。有人告诉我如何在google charts api中获得用于line Chart的startOnTick功能吗?这方面有什么进展吗?我也在努力想办法,但还没有找到任何可行的方法。解决方案是无论哪种方式都太复杂或不可靠。Highcharts应该提供一个简单的“pad”属性,与大多数其他图表库一样。谢谢!这是当前唯一有效的解决方案。我使用了labels.formatter解决方案。唯一有效的解决方案。OP应将其标记为正确的应答器pointPlacement:“on”不能解决此问题。pointPlacement:-0.5某种程度上可以解决,但另一端的间距会加倍。
xAxis: {
categories: ['cat1', 'cat2', 'cat3', 'cat4', 'cat5']
},
series: [
    {
      name: 'name of series',
      data: [0, 2, 0, 2, 0],
      pointPlacement: 'on',
    }
]