2017-08-25 91 views
-1

我想通过类别属性在y轴上显示数据。我通过一个阵列,如我在一些示例中看到的那样如何在HighCharts中的y轴上分类所有数据?

initLapChart() { 
hcharts.chart(this.div.nativeElement, { 
    chart: { 
    ... 
    }, 
    yAxis: { 
    categories: ["0:20", "0:30", "0:40", "1:00", "1:15"], 
    reversed: true, 
    tickPixelInterval: 50, 
    gridLineWidth: 1, 
    ... 
    }, 
    ... 
} 

但它只显示我的前两个值,为什么?

+1

我们需要更多的信息。单个代码片段不起作用,因为您不包括格式化数据的方式或任何其他相关详细信息。 – wergeld

回答

0

如果你想显示您的所有类别,你是否对他们的数据或没有,你只需要设置你的轴最小值和最大值:

yAxis: { 
     min: 0, 
     max: 4, 
     reversed: true, 
     tickInterval: 1, 
     categories: ['0:20', '0:30', '0:40', '1:00', '1:15'], 
     labels: { 
      step: 1 
     } 
    }, 

更新小提琴:

或者,如果您定义的类别前面,你可以做到这一点编程:

var categories = ['0:20', '0:30', '0:40', '1:00', '1:15'], 
    yMax = categories.length -1; 

小提琴:

+0

非常感谢你@jlbriggs! –

0

categories阵列的元件被从0索引到categories.length - 1,所以从阵列的第一个元素表示关于Y轴,第二值1,等等值0如果要显示所有这些,需要设置tickIntervallabels.step属性具有值1

API参考:
http://api.highcharts.com/highcharts/yAxis.tickInterval
http://api.highcharts.com/highcharts/yAxis.labels.step

实施例:
http://jsfiddle.net/6qp0v887/

+0

感谢您的答案,但它不完全是我想要的。在链接中,我显示了我的情况。我希望看到“0:30”和“0:20”以及其他属于类别的人。 exmaple: [http://jsfiddle.net/y3ut4jdv/](http://jsfiddle.net/y3ut4jdv/) –

+0

当我输入你的链接时,它只显示'Example Domain'。至于这个问题,你需要有足够的类别来显示。在我的示例中,它只显示了五个类别元素,因为这是提供的类别的总数。在正在运行的JSFiddle演示中重新创建问题。 –

相关问题