自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

好用的3個(gè)開源JavaScript圖表庫

開源 前端
對(duì)于數(shù)據(jù)可視化和制作精美網(wǎng)站來說,圖表和圖形很重要。視覺上的展示讓分析大塊數(shù)據(jù)及傳遞信息變得更簡單。JavaScript 圖表庫能讓數(shù)據(jù)以極好的、易于理解的和交互的方式進(jìn)行可視化,還能夠優(yōu)化你的網(wǎng)站設(shè)計(jì)。

 [[244588]]

圖表及其它可視化方式讓傳遞數(shù)據(jù)的信息變得更簡單。

對(duì)于數(shù)據(jù)可視化和制作精美網(wǎng)站來說,圖表和圖形很重要。視覺上的展示讓分析大塊數(shù)據(jù)及傳遞信息變得更簡單。JavaScript 圖表庫能讓數(shù)據(jù)以極好的、易于理解的和交互的方式進(jìn)行可視化,還能夠優(yōu)化你的網(wǎng)站設(shè)計(jì)。

本文會(huì)帶你學(xué)習(xí)很好的 3 個(gè)開源 JavaScript 圖表庫。 

1、 Chart.js

Chart.js 是一個(gè)開源的 JavaScript 庫,你可以在自己的應(yīng)用中用它創(chuàng)建生動(dòng)美麗和交互式的圖表。使用它需要遵循 MIT 協(xié)議。

使用 Chart.js,你可以創(chuàng)建各種各樣令人印象深刻的圖表和圖形,包括條形圖、折線圖、范圍圖、線性標(biāo)度和散點(diǎn)圖。它可以響應(yīng)各種設(shè)備,使用 HTML5 Canvas 元素進(jìn)行繪制。

示例代碼如下,它使用該庫繪制了一個(gè)條形圖。本例中我們使用 Chart.js 的內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)來包含這個(gè)庫。注意這里使用的數(shù)據(jù)僅用于展示。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.   <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js"></script>
  5. </head> 
  6. <body>   
  7.     <canvas id="bar-chart" width=300" height="150"></canvas>  
  8.     <script>     
  9. new Chart(document.getElementById("bar-chart"), {
  10.     type: 'bar',
  11.     data: {
  12.       labels: ["North America", "Latin America", "Europe", "Asia", "Africa"],
  13.       datasets: [
  14.         {
  15.           label: "Number of developers (millions)",
  16.           backgroundColor: ["red", "blue","yellow","green","pink"],
  17.           data: [7,4,6,9,3]
  18.         }
  19.       ]
  20.     },
  21.     options: {
  22.       legend: { display: false },
  23.       title: {
  24.         display: true,
  25.         text: 'Number of Developers in Every Continent'
  26.       },
  27.  
  28.       scales: {
  29.             yAxes: [{
  30.                 ticks: {
  31.                     beginAtZero:true
  32.                 }
  33.             }]
  34.         } 
  35.     } 
  36. });
  37.     </script>   
  38. </body>
  39. </html>

如你所見,通過設(shè)置 typebar 來構(gòu)造條形圖。你可以把條形體的方向改成其他類型 —— 比如把 type 設(shè)置成 horizontalBar。

backgroundColor 數(shù)組參數(shù)中提供顏色類型,就可以設(shè)置條形圖的顏色。

顏色被分配給關(guān)聯(lián)數(shù)組中相同索引的標(biāo)簽和數(shù)據(jù)。例如,第二個(gè)標(biāo)簽 “Latin American”,顏色會(huì)是 “藍(lán)色(blue)”(第二個(gè)顏色),數(shù)值是 4(data 中的第二個(gè)數(shù)字)。

代碼的執(zhí)行結(jié)果如下。

 

2、 Chartist.js

Chartist.js 是一個(gè)簡單的 JavaScript 動(dòng)畫庫,你能夠自制美麗的響應(yīng)式圖表,或者進(jìn)行其他創(chuàng)作。使用它需要遵循 WTFPL 或者 MIT 協(xié)議。

這個(gè)庫是由一些對(duì)現(xiàn)有圖表工具不滿的開發(fā)者進(jìn)行開發(fā)的,它可以為設(shè)計(jì)師或程序員提供美妙的功能。

在項(xiàng)目中包含 Chartist.js 庫后,你可以使用它們來創(chuàng)建各式各樣的圖表,包括動(dòng)畫,條形圖和折線圖。它使用 SVG 來動(dòng)態(tài)渲染圖表。

這里是使用該庫繪制一個(gè)餅圖的例子。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>   
  4.     <link href="https//cdn.jsdelivr.net/chartist.js/latest/chartist.min.css" rel="stylesheet" type="text/css" />   
  5.     <style>
  6.         .ct-series-a .ct-slice-pie {
  7.             fill: hsl(100, 20%, 50%); /* filling pie slices */
  8.             stroke: white; /*giving pie slices outline */          
  9.             stroke-width: 5px;  /* outline width */
  10.           } 
  11.           .ct-series-b .ct-slice-pie {
  12.             fill: hsl(10, 40%, 60%);
  13.             stroke: white;
  14.             stroke-width: 5px;
  15.           } 
  16.           .ct-series-c .ct-slice-pie {
  17.             fill: hsl(120, 30%, 80%);
  18.             stroke: white;
  19.             stroke-width: 5px;
  20.           } 
  21.           .ct-series-d .ct-slice-pie {
  22.             fill: hsl(90, 70%, 30%);
  23.             stroke: white;
  24.             stroke-width: 5px;
  25.           }
  26.           .ct-series-e .ct-slice-pie {
  27.             fill: hsl(60, 140%, 20%);
  28.             stroke: white;
  29.             stroke-width: 5px;
  30.           } 
  31.     </style>
  32.      </head> 
  33. <body> 
  34.     <div class="ct-chart ct-golden-section"></div> 
  35.     <script src="https://cdn.jsdelivr.net/chartist.js/latest/chartist.min.js"></script> 
  36.     <script>       
  37.       var data = {
  38.             series: [45, 35, 20]
  39.             }; 
  40.       var sum = function(a, b) { return a + b };
  41.  
  42.       new Chartist.Pie('.ct-chart', data, {
  43.         labelInterpolationFnc: function(value) {
  44.           return Math.round(value / data.series.reduce(sum) * 100) + '%';
  45.             }
  46.               });
  47.      </script>
  48. </body>
  49. </html>

使用 Chartist JavaScript 庫,你可以使用各種預(yù)先構(gòu)建好的 CSS 樣式,而不是在項(xiàng)目中指定各種與樣式相關(guān)的部分。你可以使用這些樣式來設(shè)置已創(chuàng)建的圖表的外觀。

比如,預(yù)創(chuàng)建的 CSS 類 .ct-chart 是用來構(gòu)建餅狀圖的容器。還有 .ct-golden-section 類可用于獲取縱橫比,它基于響應(yīng)式設(shè)計(jì)進(jìn)行縮放,幫你解決了計(jì)算固定尺寸的麻煩。Chartist 還提供了其它類別的比例容器,你可以在自己的項(xiàng)目中使用它們。

為了給各個(gè)扇形設(shè)置樣式,可以使用默認(rèn)的 .ct-serials-a 類。字母 a 是根據(jù)系列的數(shù)量變化的(a、b、c,等等),因此它與每個(gè)要設(shè)置樣式的扇形相對(duì)應(yīng)。

Chartist.Pie 方法用來創(chuàng)建一個(gè)餅狀圖。要?jiǎng)?chuàng)建另一種類型的圖表,比如折線圖,請(qǐng)使用 Chartist.Line。

代碼的執(zhí)行結(jié)果如下。

 

3、 D3.js

D3.js 是另一個(gè)好用的開源 JavaScript 圖表庫。使用它需要遵循 BSD 許可證。D3 的主要用途是,根據(jù)提供的數(shù)據(jù),處理和添加文檔的交互功能,。

借助這個(gè) 3D 動(dòng)畫庫,你可以通過 HTML5、SVG 和 CSS 來可視化你的數(shù)據(jù),并且讓你的網(wǎng)站變得更精美。更重要的是,使用 D3,你可以把數(shù)據(jù)綁定到文檔對(duì)象模型(DOM)上,然后使用基于數(shù)據(jù)的函數(shù)改變文檔。

示例代碼如下,它使用該庫繪制了一個(gè)簡單的條形圖。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>     
  4.     <style>
  5.     .chart div {
  6.       font: 15px sans-serif;
  7.       background-color: lightblue;
  8.       text-align: right;
  9.       padding:5px;
  10.       margin:5px;
  11.       color: white;
  12.       font-weight: bold;
  13.     }       
  14.     </style>
  15.      </head> 
  16. <body> 
  17.     <div class="chart"></div>   
  18.     <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.5.0/d3.min.js"></script> 
  19.     <script> 
  20.       var data = [342,222,169,259,173]; 
  21.       d3.select(".chart")
  22.         .selectAll("div")
  23.         .data(data)
  24.           .enter()
  25.           .append("div")
  26.           .style("width", function(d){ return d + "px"; })
  27.           .text(function(d) { return d; });    
  28.  
  29.     </script>
  30. </body>
  31. </html>

使用 D3 庫的主要概念是應(yīng)用 CSS 樣式選擇器來定位 DOM 節(jié)點(diǎn),然后對(duì)其執(zhí)行操作,就像其它的 DOM 框架,比如 JQuery。

將數(shù)據(jù)綁定到文檔上后,.enter() 函數(shù)會(huì)被調(diào)用,為即將到來的數(shù)據(jù)構(gòu)建新的節(jié)點(diǎn)。所有在 .enter() 之后調(diào)用的方法會(huì)為數(shù)據(jù)中的每一個(gè)項(xiàng)目調(diào)用一次。

代碼的執(zhí)行結(jié)果如下。

 

總結(jié)

JavaScript 圖表庫提供了強(qiáng)大的工具,你可以將自己的網(wǎng)絡(luò)資源進(jìn)行數(shù)據(jù)可視化。通過這三個(gè)開源庫,你可以把自己的網(wǎng)站變得更好看,更容易使用。

你知道其它強(qiáng)大的用于創(chuàng)造 JavaScript 動(dòng)畫效果的前端庫嗎?請(qǐng)?jiān)谙路降脑u(píng)論區(qū)留言分享。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2018-09-07 06:14:16

開源JavaScript圖表

2015-06-19 11:08:05

JavaScript圖表庫

2015-08-24 10:13:48

javascript圖表庫

2017-02-24 18:50:23

開源Javascript圖表庫

2022-01-11 15:44:15

JavaScript圖表庫數(shù)據(jù)

2017-12-23 08:50:30

JavascripCSS數(shù)據(jù)

2019-07-18 10:14:32

前端Javascript圖表庫

2020-12-14 08:30:02

JavaScript開發(fā)代碼

2023-08-18 15:12:00

JavaScript開發(fā)

2010-06-10 10:15:50

MySQL數(shù)據(jù)庫查詢

2020-06-16 08:39:35

JavaScript圖像處理庫

2021-03-18 09:06:17

JavaScriptPythonPyExecJS

2020-04-22 15:45:59

Linux shellLinux命令

2010-05-20 18:12:37

MySQL數(shù)據(jù)庫查詢

2020-10-14 12:29:51

開源圖表 開發(fā)

2020-03-08 13:24:47

JavaScript開發(fā)

2019-04-28 11:15:36

Kubernetes開源工具

2020-08-13 06:56:57

Javascript插件前端

2024-05-15 07:48:08

.NET開源圖表庫

2018-06-27 10:45:12

數(shù)據(jù)Python程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)