- Chart.js 教程
- Chart.js - 首頁
- Chart.js - 簡介
- Chart.js - 安裝
- Chart.js - 語法
- Chart.js - 基礎
- Chart.js - 顏色
- Chart.js - 選項
- Chart.js - 互動
- Chart.js - 圖例
- Chart.js - 標題
- Chart.js - 動畫
- Chart.js - 提示框
- Chart.js - 折線圖
- Chart.js - 柱狀圖
- Chart.js - 雷達圖
- Chart.js - 環形圖
- Chart.js - 餅圖
- Chart.js - 極地區域圖
- Chart.js - 氣泡圖
- Chart.js - 散點圖
- Chart.js - 組合圖
- Chart.js - 直角座標系
- Chart.js - 分類座標軸
- Chart.js - 極座標軸
- Chart.js 有用資源
- Chart.js - 快速指南
- Chart.js - 有用資源
- Chart.js - 討論
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>
輸出
它將生成以下具有各種互動和事件的圖表:
廣告