抄写本:系列的一部分变成单独的图例

时间:2019-05-23 14:37:52

标签: javascript dygraphs

我正在尝试为一张图表实现多个图例。例如,我在一个图上有10个系列,但我希望其中5个出现在图的图例中,而其他5个出现在图的图例中。我们有很多具有不同测量单位的系列,因此我们想分开,例如,左轴和左图例中的百分比值,右轴和右图例中的电压值。 / p>

这可能吗?

1 个答案:

答案 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的文档。