javascript 如何在Apexcharts中添加自定义工具提示项?

zd287kbt  于 2023-03-16  发布在  Java
关注(0)|答案(2)|浏览(197)

我正在使用ApexChart,我想添加一些更多的信息到工具提示(悬停时显示)。我已经阅读了文档,但我真的不明白如何做到这一点。
我的问题是,我不知道我应该在哪里添加额外的数据,以及我如何才能使它显示在工具提示?
现在我只能在工具提示中看到默认值,即系列名称和“y”值。我希望看到:

*价格:(x值)
*编号:(y值)
*产品:'姓名',
*信息:“信息”,
*研究中心:“名称”

我怎样才能把这个添加到工具提示中呢?这是我目前得到的:
小提琴:https://jsfiddle.net/9m0r2ont/1/
代码:

var options = {
  chart: {
    height: 380,
    width: "100%",
    type: "scatter",
  },
  series: [
    {
      name: "Series 1",
      data: [
        {
          x: 100,
          y: 50,
          product: 'name',
          info: 'info',
          site: 'name'
        },
        {
          x: 150,
          y: 55,
          product: 'name',
          info: 'info',
          site: 'name'
        }
      ]
    }
  ],
  xaxis: {
    type: "numeric"
  }
};

var chart = new ApexCharts(document.querySelector("#chart"), options);

chart.render();
rdlzhqv9

rdlzhqv91#

试着这样做:

var options = {
  chart: {
    height: 380,
    width: "100%",
    type: "scatter",
  },
  series: [
    {
      name: "Series 1",
      data: [
        {
          x: 100,
          y: 50,
          product: 'name',
          info: 'info',
          site: 'name'
        },
        {
          x: 150,
          y: 55,
          product: 'name',
          info: 'info',
          site: 'name'
        },
        {
          x: 130,
          y: 44,
          product: 'name',
          info: 'info',
          site: 'name'
        }
      ]
    }
  ],
  xaxis: {
    type: "numeric"
  },
  tooltip: {
    custom: function({series, seriesIndex, dataPointIndex, w}) {
      var data = w.globals.initialSeries[seriesIndex].data[dataPointIndex];
      
      return '<ul>' +
      '<li><b>Price</b>: ' + data.x + '</li>' +
      '<li><b>Number</b>: ' + data.y + '</li>' +
      '<li><b>Product</b>: \'' + data.product + '\'</li>' +
      '<li><b>Info</b>: \'' + data.info + '\'</li>' +
      '<li><b>Site</b>: \'' + data.site + '\'</li>' +
      '</ul>';
    }
  }
};

var chart = new ApexCharts(document.querySelector("#chart"), options);

chart.render();
<script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
<div id="chart">
</div>

为此,您需要向options对象添加一个自定义工具提示。访问传入函数的w对象以获取正确的数据。他们有一个类似的示例here。一旦您确定了该对象中感兴趣的数据,使用它返回HTML以显示在工具提示中。

cqoc49vn

cqoc49vn2#

您可以使用react-dom/server中的renderToString函数来呈现工具提示内容,而无需将其定义为字符串:

tooltip: {
    custom: function({series, seriesIndex, dataPointIndex, w}) {
      var data = w.globals.initialSeries[seriesIndex].data[dataPointIndex];    
      return renderToString(<>custom TSX component</>);
    }
  }

相关问题