HighCharts stackLabels与隐藏的yAxis可见

时间:2016-05-24 07:37:20

标签: highcharts

有没有办法将stackLabels保留在高图堆积柱形图上,但隐藏yAxis?

我从HC作者那里借了this fiddle来证明这个问题。您可以切换yAxis可见性,这也可以切换stackLabels。

我的HighCharts代码是:

$(function() {

  // Configure the chart
  $('#container').highcharts({

    chart: {
      type: 'column'
    },

    title: {
      text: 'Highcharts axis visibility'
    },

    xAxis: {
      categories: ['Apples', 'Pears', 'Oranges', 'Peaches']
    },

    yAxis: {
      allowDecimals: false,
      title: {
        text: 'Fruit'
      },
      stackLabels: {
        enabled: true
      },
      visible: false
    },

    plotOptions: {
      series: {
        stacking: 'normal',
        dataLabels: {
          enabled: true
        }
      }
    },

    series: [{
      data: [1, 3, 2, 4],
      name: 'Ola'
    }, {
      data: [5, 4, 5, 2],
      name: 'Kari'
    }]

  });

  var yVis = false,
    xVis = true;
  $('#toggle-y').click(function() {
    yVis = !yVis;
    $('#container').highcharts().yAxis[0].update({
      visible: yVis
    });
  });
  $('#toggle-x').click(function() {
    xVis = !xVis;
    $('#container').highcharts().xAxis[0].update({
      visible: xVis
    });
  });
});

使用隐藏的yAxis可以看到stackLabel吗?

1 个答案:

答案 0 :(得分:2)

您可以操作yAxis中的元素,而不是设置可见性。

    $('#toggle-y').click(function() {
       yVis = !yVis;
         $('#container').highcharts().yAxis[0].update({
            labels: {
            enabled: yVis
         },
         gridLineWidth: yVis ? 1 : 0,
         title:{
            enabled: yVis
         }
       });
  });

示例: