【问题标题】:get yAxis labels as 10% of the categories of xAxis将 y 轴标签作为 x 轴类别的 10%
【发布时间】:2018-05-23 16:26:51
【问题描述】:

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

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

chart: {
        type: 'spline'
    },
    xAxis: {
        categories: [1340,1590,1379,1451,1671]
    },
    yAxis: {
        title: {
            text: '10% of Range'
        }
    },
    series: [{
        name: 'Tokyo',
        data: [7.0, 6.9, 9.5, 14.5, 18.4]
    }]
}

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

【问题讨论】:

    标签: javascript highcharts


    【解决方案1】:

    我不能说我理解您为什么要这样做,无论如何,这是可能的。您可以使用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>

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

    【讨论】:

    • 我知道这很奇怪,但这是客户的要求。无论如何感谢您的回答。
    猜你喜欢
    • 1970-01-01
    • 2020-11-05
    • 1970-01-01
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    相关资源
    最近更新 更多