legend - 如何设置最大图例宽度
问题描述
我有右对齐的图例,我需要给它最大宽度为整个图表容器的 25%。我尝试将宽度设置为 25%,但如果我的系列名称是短图例框仍保持为 25%,但应等于内容宽度。所以我正在寻找 maxWidth 属性(如果存在)。我处于风格模式。这是代码 http://jsfiddle.net/sabira/xmcqjnvg/24/
Highcharts.chart('container', {
chart: {
styledMode: true,
},
legend: {
align: 'right',
layout: 'proximate',
},
series: [{
name: 'very long long long long long name',
data: [1, 4, 3, 5],
},
{
name: 'short',
data: [3, 5, 3, 1],
}]
});
解决方案
该legend.maxWidth
属性不存在。但是,可以通过在图表加载事件中检查图例宽度并在它大于例如时更新它来实现。图表宽度的“25%”。
代码:
chart: {
styledMode: true,
events: {
load: function() {
var chart = this,
legend = chart.legend,
legendMaxWidth =
Highcharts.relativeLength(legend.options.maxWidth, 1) * chart.chartWidth;
if (legend.legendWidth > legendMaxWidth) {
legend.update({
width: legend.options.maxWidth
});
}
}
}
}
演示:
API参考:
推荐阅读
- angular - DOMException: Failed to execute 'define' on 'CustomElementRegistry': "cfheader" is not a valid custom element name
- import - 2sxc 应用程序导入失败 (404)
- objective-c - Check if Variable has changed in Obj C
- perl - Set a Referer header in Mojo::UserAgent
- java - the request sent is not recognized by the sprig controller when parameters are sent as RequestBody and RequestParam
- ios - 如何为 iOS 12 beta 设备使用从 Xcode 10 到 Xcode 9 的符号链接设备支持?
- r - 使用 cat() 对多个向量元素求和
- sql-server - SQL Server:从两个表构建 CSV
- java - 错误:压缩机是抽象的;无法实例化 Android
- visual-studio-2017 - Visual C++ 应用程序在运行时使用 Windows 7 Basic 样式