highcharts - highcharts 图表高度与图例不同
问题描述
我想创建固定高度的图表,根据用户交互,一些图表可以是空的,所以没有图例。
我的问题是我希望它们都具有相同的高度,然后,如果图表上方有图例,则该高度应增加图例。
拿不到,我试试
options = {
chart: {
zoomType: 'x',
height: 300
},
legend: {
enabled: 'true',
align: 'center',
verticalAlign: 'bottom',
layout: 'horizontal',
maxHeight: 50
}
};
结果,我所拥有的是,如果有图例,则为 250 像素图表,如果不是 300 像素图表。我想要的总是一个 300px 的图表,如果是图例,则要多 50px 来包含它。
我该如何解决?
解决方案
在图表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
推荐阅读
- html - 如何将活动类添加到映射到悬停反应的单个组件
- c++ - 错误:“message_source&”不是类、结构或联合类型(但是,message_source 是一个类)
- python - 基于列值的DataFrame排序
- python - 具有不同范围的任意嵌套 for 循环(python)
- android - 按钮的颤振可访问性工具提示
- c++ - 如何在 C++ 中为 Opencv VideoCapture 应用视频过滤器
- javascript - 如何多次运行 $(this).click() 而不会丢失先前的选择?
- c# - Sqlite 查询的正确语法
对于 xamarin.android - python - 连接两个字符串之间的公共字符
- javascript - 在 React 中使用 Props 的更好方法是什么?