将yAxis标签作为xAxis类别的10%

时间:2018-05-23 05:15:13

标签: javascript highcharts

如何将yAxis标签作为图表xAxis中定义的10%类别。例如,如果我有类似[2010,2011,2012,2013,....]的类别,那么yAxis标签应该像201.0,201.1,201.2,......

这里我有预定义类别的基本图表

m.flatMap { x => h(x._1, x._2) } // x is (key,value) pair here(each element in map), hence accessing the key , value as _1,_2  respectively

如何将yAxis绘图值作为xAxis类别的10%,有什么方法吗? 此外,我将从服务器收到系列和类别,因此类别将是数字。

1 个答案:

答案 0 :(得分:0)

我不能说我明白你为什么要这样做,不管有没有可能。您可以使用load event动态添加10%的xAxis作为yAxis。像这样:

chart: {
  events: {
    load: function() {
      this.yAxis[0].update({type: 'categories', categories: this.xAxis[0].categories.map(function(x) { return x/10; }), tickPositions: this.xAxis[0].categories.map(function(x) { return x/10; })}, true)
    }
  }
},



Highcharts.chart('container', {
		chart: {
    	events: {
      	load: function() {
          this.yAxis[0].update({type: 'categories', categories: this.xAxis[0].categories.map(function(x) { return x/10; }), tickPositions: this.xAxis[0].categories.map(function(x) { return x/10; })}, true)
        }
      }
    },

    title: {
        text: 'Solar Employment Growth by Sector, 2010-2016'
    },

    subtitle: {
        text: 'Source: thesolarfoundation.com'
    },
		xAxis: {
    	type: 'categories',
    	categories: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
    },
    yAxis: {
        title: {
            text: 'Number of Employees'
        }
    },
    legend: {
        layout: 'vertical',
        align: 'right',
        verticalAlign: 'middle'
    },

    plotOptions: {
        series: {
            label: {
                connectorAllowed: false
            }
        }
    },

    series: [{
        name: 'Manufacturing',
        data: [24916, 24064, 29742, 29851, 32490, 30282, 38121, 40434]
    }, {
        name: 'Sales & Distribution',
        data: [11744, 17722, 16005, 19771, 20185, 24377, 32147, 39387]
    }, {
        name: 'Project Development',
        data: [null, null, 7988, 12169, 15112, 22452, 34400, 34227]
    }, {
        name: 'Other',
        data: [12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111]
    }],

});

#container {
	min-width: 310px;
	max-width: 800px;
	height: 400px;
	margin: 0 auto
}

<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/series-label.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>

<div id="container"></div>
&#13;
&#13;
&#13;

工作小提琴示例: https://jsfiddle.net/2jca44dj/