我正在尝试像这样为Highchart柱形图设置最大柱形量

xAxis: {
    categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas', 'Kiwi'],
    tickAmount: 3
}


阅读文档时说,使用tickAmount设置轴数。

由于空间限制,我希望图表仅显示三个xAxis。这需要动态发生,因此不能从阵列中删除项目。

这是我的jsfidddle http://jsfiddle.net/rjayako/mt4x95rd/1/

任何帮助将非常感激。

最佳答案

从tickAmount文档中:


  该选项仅对线性轴有效。日期时间,对数轴或类别轴均不受影响。


您的轴是类别轴。

您可以尝试使用tickInterval和一些其他计算来达到类似的效果:

var categories =  ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas', 'Peaches', 'Lemons', 'Apricots']
var tickAmount = 3

//best effort, for tickAmounts > categories.length / 2 it will show all ticks
var tickInterval = tickAmount > 1
    ? Math.floor((categories.length - 1) / (tickAmount - 1))
  : tickAmount == 1 ? categories.length : NaN


然后

xAxis: {
    categories: categories,
    tickInterval: tickInterval
}


http://jsfiddle.net/peterlgh7/6anq4p8s/

编辑:
阅读您的评论并考虑到不仅要隐藏刻度线而且还希望隐藏列的事实之后,我在文档中找不到任何内容。我的建议仍然是仅预处理您的数据,即过滤数据。您可以定期对其进行采样,类似于tickInterval的工作原理,也可以只获取前n个元素,因为这可能对您没有影响。您可以在此处看到两种方式:http://jsfiddle.net/peterlgh7/L9fa1hg9/

但这就是所有javascript,不涉及任何高位图。

09-20 12:51