首頁 web前端 js教程 Chart.js輕量級圖表庫使用步驟詳解

Chart.js輕量級圖表庫使用步驟詳解

May 28, 2018 am 11:11 AM
javascript 輕量級

這次帶給大家Chart.js輕量級圖表庫使用步驟詳解,Chart.js輕量級圖表庫使用的注意事項有哪些,下面就是實戰案例,一起來看一下。

前言

最近專案中遇到一個在頁面中畫圖表的需求,需要一個扇狀圖和一個長條圖,雖然能使用svg或canvas繪製,但吃力不一定討好,所以研究接入了主流的第三方圖表庫供專案使用。以下主要記錄我使用過程中的一些體驗和解決方法,具體教學請移步官方文件。

技術選型

研究了Highcharts、百度的ECharts、阿里的G2和Charts.js四個圖表庫,由於專案對圖表需求不大,圖表不複雜,所以引入了輕量級的Charts.js。 Chart.js很容易上手,只需要在頁面中引用腳本文件,並建立 節點即可渲染出圖表。並為你的數據提供 8 種視覺化展現方式,每種方式都具有動態效果並且可自訂;在所有現代瀏覽器(IE9 )上都有高效的繪圖效率;響應式佈局

引入

GitHUb上下載原始碼,把裡面的dist/Chart.bundle.js檔案引入專案即可使用;檢視來源碼,發現其相容了多種模組載入方式,所以我使用requireJs在頁面中載入。

使用經驗

①圖表顏色值個數可以不與資料個數相等,如

var pieConfig = {
   type: 'pie',
   data: {
     datasets: [{
      data: [10, 20],
      backgroundColor: ['#debd5a', '#ff6d4a', '#3cc9bf', '#7599e9',]
     }]
  }
}
登入後複製

②可以取消響應式options: {responsive: false},方便控制圖表的大小,canvas多大圖表便多大,canvas不會自動佔滿外層容器。

③取消legend的點擊事件,因為點擊legend會預設隱藏該資料的佔比,所以我需要去掉點擊事件,設定legend: {onClick: function () {}},修改點擊事件。

④把legend由預設的矩形修改成正方形,設定legend的字體大小和色值

options: {
  legend: {
   position: 'right',
   labels: {
    boxWidth: 14,// 修改宽度
    fontSize: 14,
    fontColor: '#666666'
   }
}
登入後複製

效果如下

##⑤長條圖去掉網格線,設定軸線顏色、長方形的寬度和y軸資料從0開始顯示。由於使用的Chart.js 2.0,配置參數變化很多,所以網上很多列子已失效,這裡給出有效的配置代碼

options: {
  scales: {
   xAxes: [{
    gridLines: {
     color: 'rgba(0, 0, 0, 0)',// 隐藏x轴方向轴线
     zeroLineColor: '#666666'// 设置轴颜色
    },
    barPercentage: 0.2,// 设置柱宽度
    ticks: {// 设置轴文字字号和色值
     fontSize: 12,
     fontColor: '#666666'
    }
   }],
   yAxes: [{
    gridLines: {
     color: 'rgba(0, 0, 0, 0)',// 隐藏要y轴轴线
     zeroLineColor: '#666666'
     },
     ticks: {
      fontSize: 12,
      beginAtZero: true,// y轴数据从0开始展示
      fontColor: '#666666'
      }
   }]
  }
}
登入後複製
效果如下


#⑥將圖表tooltips的資料加上單位,可以使用tooltips的callback函數設定

tooltips: {
 callbacks: {
  label: function (tooltipItem, data) {
   var value = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index] + '%';
   var title = data.labels[tooltipItem.index] + ':';
   return title + value;
   }
  }
}
登入後複製

效果如下
##

tooltips: {
  callbacks: {
   label: function (tooptipItem) {
    return tooptipItem.yLabel + '个' ;
   }
  }
}
登入後複製
效果如下##### ##########相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章! ######推薦閱讀:#########如何使用PHP實作微信小程式人臉辨識刷臉登入###############Vue.js實現表格增刪步奏詳解##########

以上是Chart.js輕量級圖表庫使用步驟詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1667
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
如何使用WebSocket和JavaScript實現線上語音辨識系統 如何使用WebSocket和JavaScript實現線上語音辨識系統 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

WebSocket與JavaScript:實現即時監控系統的關鍵技術 WebSocket與JavaScript:實現即時監控系統的關鍵技術 Dec 17, 2023 pm 05:30 PM

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

適用於低階或較舊電腦的最佳輕量級Linux發行版 適用於低階或較舊電腦的最佳輕量級Linux發行版 Mar 06, 2024 am 09:49 AM

正在尋找完美的Linux發行版,為舊的或低階電腦注入新的活力嗎?如果是的話,那麼你來對地方了。在本文中,我們將探索一些輕量級Linux發行版的首選,這些發行版是專門為較舊或功能較弱的硬體量身定做的。無論這樣做背後的動機是重振老舊的設備,還是只是在預算內最大化性能,這些輕量級選項肯定能滿足需求。為什麼要選擇輕量級的Linux發行版?選擇輕量級Linux發行版有幾個優點,第一個優點是在最少的系統資源上獲得最佳效能,這使得它們非常適合處理能力、RAM和儲存空間有限的舊硬體。除此之外,與較重的資源密集

如何利用JavaScript和WebSocket實現即時線上點餐系統 如何利用JavaScript和WebSocket實現即時線上點餐系統 Dec 17, 2023 pm 12:09 PM

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

如何使用WebSocket和JavaScript實現線上預約系統 如何使用WebSocket和JavaScript實現線上預約系統 Dec 17, 2023 am 09:39 AM

如何使用WebSocket和JavaScript實現線上預約系統在當今數位化的時代,越來越多的業務和服務都需要提供線上預約功能。而實現一個高效、即時的線上預約系統是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實作一個線上預約系統,並提供具體的程式碼範例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進行全雙工

JavaScript與WebSocket:打造高效率的即時天氣預報系統 JavaScript與WebSocket:打造高效率的即時天氣預報系統 Dec 17, 2023 pm 05:13 PM

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

解析Golang為何適用於高並發處理? 解析Golang為何適用於高並發處理? Feb 29, 2024 pm 01:12 PM

Golang(Go語言)是一種由Google開發的程式語言,旨在提供高效、簡潔、並發和輕量級的程式設計體驗。它內建了並發特性,為開發者提供了強大的工具,使其在處理高並發情況下表現優異。本文將深入探討Golang為何適用於高並發處理的原因,並提供具體的程式碼範例加以說明。 Golang並發模型Golang採用了基於goroutine和channel的並發模型。 goro

簡易JavaScript教學:取得HTTP狀態碼的方法 簡易JavaScript教學:取得HTTP狀態碼的方法 Jan 05, 2024 pm 06:08 PM

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

See all articles