Chart.js - 交互


Chart.js 交互帮助我们与图表的元素进行通信。您可以使用悬停和工具提示来应用这些交互。下表给出了我们可以使用的各种交互的描述 -

姓名 类型 默认 描述
模式 细绳 ‘最近’ 它将设置哪些元素出现在交互中。
相交 布尔值 真的 相交可用于设置鼠标位置。如果您保持这一点,则交互模式仅在鼠标位置与图表上的项目相交时应用,否则不应用。
细绳 'X' 轴可以设置为“x”、“y”、“xy”或“r”。

它定义了计算距离时使用的方向。对于索引模式,默认值为“x”。而“xy”是“最近”模式的默认值。

包括不可见 布尔值 错误的 如果为 false,则在评估交互时将不包括图表区域之外的不可见点。

在图表中使用交互的命名空间是“options.interactions”。

同样,下表描述了图表如何与事件交互 -

姓名 类型 默认 描述
活动 细绳[] ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'] 此选项定义图表应侦听的浏览器事件。
悬停时 功能 无效的 当任何事件在我们的图表区域上触发时,将调用此事件。)。
单击时 功能 无效的 如果事件类型为

在我们的图表区域上“鼠标松开”、“单击”或“上下文菜单”。

句法

交互语法如下 -

interaction: {
   mode: 'nearest',
}

Chart.js 事件语法如下 -

events: ['click'],

例子

让我们举一个例子,我们将在图表中使用各种交互事件-

<!DOCTYPE>
<html>
<head>
   <meta charset- "UTF-8" />
   <meta name="viewport" content="width=device-width, initial-scale=1" />
   <title>chart.js</title>
</head>
<body>
   <canvas id="chartId" aria-label="chart" height="350" width="580"></canvas>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.1.1/chart.min.js"></script>
   <script>
      var chrt = document.getElementById("chartId").getContext("2d");
      var chartId = new Chart(chrt, {
         type: 'bar',
         data: {
            labels: ["HTML", "CSS", "JAVASCRIPT", "CHART.JS", "JQUERY", "BOOTSTRP"],
            datasets: [{
               label: "online tutorial subjects",
               data: [20, 40, 30, 35, 30, 20],
               backgroundColor: ['coral', 'aqua', 'pink', 'lightgreen', 'lightblue', 'crimson'],
               borderColor: ['red', 'blue', 'fuchsia', 'green', 'navy', 'black'],
               borderWidth: 2,
            }],
         },
         options: {
            responsive: false,
            events: ['click'],
            interaction: {
               mode: 'nearest',
            }
         },
      });
   </script>
</body>
</html>

输出

它将生成以下具有各种交互事件的图表-

Chart.js 交互