如何让Highcharts的seriesname纵向排列而非横向并列?
Highcharts 系列名称纵向排列配置方法
不需要靠增加字符数来实现,直接通过配置图例(legend)的相关属性就能搞定,给你两种常用方案:
- 方案一:设置图例纵向布局
直接修改legend的layout属性为'vertical',还可以根据需求调整图例的位置和项间距:
Highcharts.chart('container', { // 其他配置... legend: { layout: 'vertical', // 核心:设置纵向布局 align: 'right', // 图例对齐方式,可选left/center/right verticalAlign: 'middle', // 垂直方向对齐,可选top/middle/bottom itemMarginTop: 8, // 每个图例项的上边距,调整间距用 itemMarginBottom: 8 }, series: [ { name: '系列1', data: [1, 2, 3] }, { name: '系列2', data: [4, 5, 6] } ] });
这样所有系列名称就会纵向依次排列,不再横向并列。
- 方案二:强制单个系列名称内部换行(按需使用)
如果需要让单个系列名称本身也纵向显示(比如每个字符占一行),可以用图例的格式化函数配合HTML:
Highcharts.chart('container', { // 其他配置... legend: { useHTML: true, // 必须开启,才能解析HTML标签 itemFormatter: function() { // 把系列名称的每个字符拆分成换行,或者自定义换行位置 return this.name.split('').join('<br/>'); // 比如只想在某个位置换行,可替换成:return this.name.replace('某字符', '<br/>'); } }, series: [/* 系列数据 */] });
内容的提问来源于stack exchange,提问作者Bluecobra
相关产品推荐
相关产品推荐

