我正在尝试为一张图表实现多个图例。例如,我在一个图上有10个系列,但我希望其中5个出现在图的图例中,而其他5个出现在图的图例中。我们有很多具有不同测量单位的系列,因此我们想分开,例如,左轴和左图例中的百分比值,右轴和右图例中的电压值。 / p>
这可能吗?
答案 0 :(得分:1)
您可以使用legendFormatter
进行此操作。此选项的目的是格式化标准图例(显示在图表右上角或labelsDiv
中的图例)。但是没有理由不能将其用于副作用。
这样的事情应该做你想要的:
function legendFormatter(data) {
const leftDiv = document.getElementById('left');
const rightDiv = document.getElementById('right');
if (data.x == null) {
// no selection
leftDiv.textContent = '';
rightDiv.textContent = '';
} else {
const percentSeries = data.series.filter(v => v.contains('Percentage'));
const voltageSeries = data.series.filter(v => v.contains('Voltage'));
leftDiv.innerHTML = data.xHTML + percentSeries.map(v => v.labelHTML + ': ' + v.yHTML).join(' ');
rightDiv.innerHTML = data.xHTML + voltageSeries.map(v => v.labelHTML + ': ' + v.yHTML).join(' ');
}
return '';
}
有一些data
参数here的文档。