Chart.js - 互動



Chart.js 互動幫助我們與圖表元素進行互動。您可以使用懸停和提示框來應用這些互動。下表給出了我們可以使用的各種互動型別的描述:

名稱 型別 預設值 描述
模式 字串 'nearest' 它將設定哪些元素出現在互動中。
相交 布林值 true Intersect 可用於設定滑鼠位置。如果將其設定為 true,則互動模式僅在滑鼠位置與圖表上的專案相交時才適用,否則不適用。
字串 'x' 軸可以設定為 'x'、'y'、'xy' 或 'r'。

它定義了用於計算距離的方向。對於索引模式,預設值為 'x'。而 'xy' 是 'nearest' 模式的預設值。

includeInvisible 布林值 false 如果為 false,則在評估互動時,將不包括圖表區域外的不可見點。

在我們的圖表中使用互動的名稱空間是“options.interactions”。

同樣,下表描述了圖表如何與事件互動:

名稱 型別 預設值 描述
事件 字串陣列 ['mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'] 此選項定義圖表應偵聽的瀏覽器事件。
onHover 函式 Null 當任何事件在我們chartArea上觸發時,將呼叫此事件。
onClick 函式 Null 如果事件型別為

'mouseup'、'click' 或 'contextmenu' 在我們的 chartArea 上,則將呼叫此事件。

語法

互動語法如下所示:

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 Interactions
廣告
© . All rights reserved.