高层图表高度除了传说

问题描述 投票:0回答:1

我想创建具有固定高度的图表,具体取决于用户交互,某些图表可以为空,因此没有图例。

我的问题是我希望所有这些都具有相同的高度,然后,如果有图例在图表上方,那么这个高度应该由图例增加。

我无法得到它,这是我的尝试。

options = {
  chart: {
    zoomType: 'x',
    height: 300
  },
  legend: {
     enabled: 'true',
     align: 'center',
     verticalAlign: 'bottom',
     layout: 'horizontal',
     maxHeight: 50
  }
};

结果,我有的是,如果有传说,250px图表,如果它不是300px图表。我想要的总是300px图表,如果是传说,要包含它多50px。

我怎么解决呢?

highcharts
1个回答
1
投票

在图表load事件中,您可以使用chart.setSize方法通过图例的高度来增加图表的高度。

function addLegendHeight(chart) {
    var legendSpace = chart.legend.legendHeight -
        chart.legend.padding;

    if (legendSpace) {
        chart.setSize(null, chart.chartHeight + legendSpace);
    }
}

Highcharts.chart('container', {
    chart: {
        ...,
        events: {
            load: function() {
                addLegendHeight(this);
            }
        }
    },
    ...
});

现场演示:http://jsfiddle.net/BlackLabel/seqah1by/

API参考:https://api.highcharts.com/class-reference/Highcharts.Chart#setSize

© www.soinside.com 2019 - 2024. All rights reserved.