亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

使用Chart.js圖表庫制作漂亮的響應式表單

2019-11-20 11:23:44
字體:
來源:轉載
供稿:網友

入門基礎

Chart.js是一個基于HTML5的開源圖表庫,可以方便簡潔的繪制美觀的圖表。

主要特性包括:

1、支持6種不同的表格類型:曲線圖、柱狀圖、餅狀圖、雷達圖、極坐標區域圖、環圖。
2、基于HTML5開發,支持所有瀏覽器(包括IE7/8).
3、不依賴于其他任何庫,僅有4.5k大小,并且可以進行定制。

Chart.js 是一個基于 HTML5 canvas 的響應式、靈活的、輕量化的圖表庫。庫中提供了六種不同的圖表類型,每種類型都帶有一系列的自定義選項。如果這些還不夠,你還可以創造自己的圖表類型。

Chart.js 的六種圖表類型代碼一共只有 11 kb 大,并做了 gzip 壓縮處理,另外該庫是模塊化的,你可以僅僅使用自己需要的圖表類型,從而進一步節省了空間。下面是包含該庫的 cdnjs 鏈接。

JavaScript

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/1.0.2/Chart.min.js"></script>

可用的設置項

從提示信息到動畫效果(校稿者注:tool tip是指鼠標移動到某個元素上彈出的提示信息),Chart.js 允許你改變圖表的幾乎所有特征。在本節,我將會修改一些設置,以展示 Chart.js 是如何被創建出來的。我們將從下面的 HTML 代碼開始:

XHTML

<canvas id="canvas"></canvas>

對于首次展示,我會創建一個折線圖。為了使圖表有意義,這里會有幾個需要設置的基本選項。折線圖需要一個標簽數組和數據集。標簽會顯示在 X 軸。我已經為折線圖模擬了一些數據,這些數據被分開放到一個數組里面去,每個數據有自己的填充顏色、折線和點集。

在這個例子中,我將 fillColor設置為透明。如果你不設置 fillColor 的值,將默認設置為黑色或者灰色。這同樣適用于其他值。色彩使用 RGBA、RGB、hex 或 HSL 格式定義,與 CSS 是一樣的。

JavaScript

var lineData = { labels: ['Data 1', 'Data 2', 'Data 3', 'Data 4',       'Data 5', 'Data 6', 'Data 7'], datasets: [{  fillColor: 'rgba(0,0,0,0)',  strokeColor: 'rgba(220,180,0,1)',  pointColor: 'rgba(220,180,0,1)',  data: [20, 30, 80, 20, 40, 10, 60] }, {  fillColor: 'rgba(0,0,0,0)',  strokeColor: 'rgba(151,187,205,1)',  pointColor: 'rgba(151,187,205,1)',  data: [60, 10, 40, 30, 80, 30, 20] }]}

設置全局選項

在代碼中我已經設置了一些全局值。animationSteps 決定了動畫的持續時間。根據需要,你可以修改更多的選項,比如 scaleLineColor 和 scaleIntegersOnly。我建議瀏覽 Chart.js 文檔查看庫中提供的其他選項。

JavaScript

Chart.defaults.global = { animationSteps : 50, tooltipYPadding : 16, tooltipCornerRadius : 0, tooltipTitleFontStyle : 'normal', tooltipFillColor : 'rgba(0,160,0,0.8)', animationEasing : 'easeOutBounce', scaleLineColor : 'black', scaleFontSize : 16}

設置專有的圖表選項

除了全局選項,還有一些針對特定圖表類型的配置選項。在這個折線圖中,我將會設置這類選項,希望對你有所啟發:

JavaScript

Chart.defaults.global = {animationSteps : 50,tooltipYPadding : 16,tooltipCornerRadius : 0,tooltipTitleFontStyle : 'normal',tooltipFillColor : 'rgba(0,160,0,0.8)',animationEasing : 'easeOutBounce',scaleLineColor : 'black',scaleFontSize : 16}

Chart.js 生成的圖表默認為非響應式。將 responsive 設置為 true 可以使其轉化為響應式圖表。如果你需要讓每個圖表都成為響應式的,我推薦設置全局值,就像這樣:

JavaScript

Chart.defaults.global.responsive = true;

下面你會看見這個折線圖的示例:

See the Pen Chart.js Responsive Line Chart Demo by SitePoint (@SitePoint) on CodePen.

增加與移除動態數據

有時你需要展示時刻變化的數據。股票市場便是這個應用場景的典型例子。這本節中我將會創建一個柱形圖,并且在動態刪除數據的同時增加數據。我會使用一些隨機數據,并在這個例子中通過柱形圖來展示數據。本例中的大部分代碼與上一個例子相似。一旦我們擁有自己的 HTML(與上一個例子一樣),便可以添加自己的 JavaScript。

首先我們需要編寫代碼將動態數據填充進圖表。我使用function表達式生成隨機值,然后將其賦給一個變量 dData。這些值會在需要變化時為我們提供隨機的數據。像之前的例子一樣,我創建了一個標簽數組和數據集,并設置了一個任意的 fillColor。

JavaScript

var dData = function() { return Math.round(Math.random() * 90) + 10;};var barData = { labels: ['dD 1', 'dD 2', 'dD 3', 'dD 4',      'dD 5', 'dD 6', 'dD 7', 'dD 8'], datasets: [{  fillColor: 'rgba(0,60,100,1)',  strokeColor: 'black',  data: [dData(), dData(), dData(), dData(),      dData(), dData(), dData(), dData()] }]}

現在是時候編寫代碼來為我們的圖表刪除與添加柱形了。開始時我們初始化 index 的值為 11,我使用了兩個方法:removeData() 和 addData(valuesArray,label)。調用實例的 removeData() 方法刪除圖表所有數據集的第一個值。在 barChartDemo 這個例子中,數據集的第一個值被移除了。調用 addData() 順著標簽傳遞一個數組值,在圖表的最后增加一個新的數據節點。下面的代碼片段每 3 秒鐘會更新一次圖表。

JavaScript

var index = 11;var ctx = document.getElementById('canvas').getContext('2d');var barDemo = new Chart(ctx).Bar(barData, { responsive: true});setInterval(function() { barDemo.removeData(); barDemo.addData([dData()], 'dD ' + index); index++;}, 3000);

另一個更新圖表數值的方法是直接設置數值。在下面的例子中,第一行是將第一個數據集的第二個柱形的數值設為 60。如果你在這時更新,柱形會通過動畫將其當前值變為 60。

JavaScript

barDemo.datasets[0].bars[2].value = 60;barDemo.update();

這里是柱形圖的示例(由SitePoint在CodePen上創建):

See the Pen Chart.js Responsive Bar Chart Demo by SitePoint (@SitePoint) on CodePen.

結論

這個教程覆蓋了關于 Chart.js 的一些重要功能。第一個例子展示了一些全局設置的使用,同時,Chart.js也為每個圖表類型提供了專屬的自定義設置。如果當前可用的圖表無法滿足你的需求,你還可以創造自己的圖表類型。我推薦你瀏覽文檔,加深關于該庫什么可以做,什么無法做的認識。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
九九热这里只有精品免费看| 久久久久亚洲精品成人网小说| 热re91久久精品国99热蜜臀| 日本高清久久天堂| 国产精品久久久av| 91国在线精品国内播放| 欧美激情亚洲一区| 国产成人高清激情视频在线观看| 欧美多人爱爱视频网站| 国内免费久久久久久久久久久| 欧美激情视频一区二区| 久久综合五月天| 欧美壮男野外gaytube| 欧美视频一二三| 欧美福利在线观看| 精品一区二区电影| 国产精品大片wwwwww| 69国产精品成人在线播放| 亚洲欧美激情四射在线日| 久久艹在线视频| 日本久久久久久久久久久| 欧美交受高潮1| 成人黄色在线免费| 亚洲黄页视频免费观看| 国产精品高清免费在线观看| 欧美专区福利在线| 高清欧美性猛交xxxx黑人猛交| 国产精品女人久久久久久| 精品自在线视频| 日韩成人av一区| 国内精品久久久久久久| 日本午夜在线亚洲.国产| 久久免费观看视频| 久久精品中文字幕免费mv| 日韩在线激情视频| 92看片淫黄大片看国产片| 亚洲伊人久久综合| 亚洲久久久久久久久久久| 欧美最近摘花xxxx摘花| 97av在线视频| 欧美日韩在线免费| 国产精品一区二区在线| 96国产粉嫩美女| 成人有码视频在线播放| 日韩中文字幕视频在线| 精品欧美国产一区二区三区| 日韩在线免费观看视频| 欧美国产日韩一区二区在线观看| 久久精品视频亚洲| 亚洲欧美另类中文字幕| 久久亚洲春色中文字幕| 亚洲成人在线视频播放| 中文字幕精品—区二区| 欧美人与性动交a欧美精品| 亚洲精品电影在线观看| 2019日本中文字幕| 奇米影视亚洲狠狠色| 在线观看欧美www| 欧美老少做受xxxx高潮| 色悠久久久久综合先锋影音下载| 欧美日韩国产限制| 久久精品久久久久久国产 免费| 亚洲a区在线视频| 欧美老女人xx| 欧美激情综合色| 日韩亚洲在线观看| 亚洲人成在线观看网站高清| 国产成人黄色av| 欧美日韩xxxxx| 欧美日韩国产精品一区二区三区四区| 日韩在线观看精品| 4k岛国日韩精品**专区| 亚洲第一页自拍| 欧美麻豆久久久久久中文| 国产精品白丝jk喷水视频一区| 欧美电影在线免费观看网站| 国产成人在线一区二区| 精品福利樱桃av导航| 久久久亚洲国产天美传媒修理工| 日本久久中文字幕| 国语自产偷拍精品视频偷| 国产亚洲精品久久久久动| 日韩精品丝袜在线| 国产精品美腿一区在线看| 亚洲片在线观看| 久久久国产一区二区三区| 国产精品三级美女白浆呻吟| 九九九热精品免费视频观看网站| 国产精品高潮呻吟久久av无限| 欧美xxxx18国产| 性日韩欧美在线视频| 自拍亚洲一区欧美另类| 欧美在线视频免费| 日韩在线欧美在线| 国产日韩欧美一二三区| 日本久久中文字幕| 亚洲精品成a人在线观看| 热久久视久久精品18亚洲精品| 亚洲天堂av在线免费| 亚洲综合日韩中文字幕v在线| 一区二区在线视频| 精品久久久久久久久久| 国产丝袜一区视频在线观看| 日韩经典中文字幕在线观看| 岛国精品视频在线播放| 成人欧美一区二区三区黑人孕妇| 亚洲最大的av网站| 国产精品人成电影| 久久视频这里只有精品| 奇米四色中文综合久久| 亚洲国产欧美在线成人app| 亚洲国产婷婷香蕉久久久久久| 亚洲综合在线做性| 久久久久成人精品| 国产精品久久久久久久久粉嫩av| 日韩视频在线观看免费| 精品中文视频在线| 国产欧美精品一区二区| 性欧美长视频免费观看不卡| 亚洲欧美另类中文字幕| 一个色综合导航| 国产专区精品视频| 久久精品久久久久久国产 免费| 久久伊人精品天天| 久久99视频精品| 久久久免费精品| 国产成人精品一区二区在线| 一本色道久久88精品综合| 欧美裸体男粗大视频在线观看| 国产精品第一页在线| 91精品在线影院| 日韩一区二区三区xxxx| 欧美肥老妇视频| 国产精品男女猛烈高潮激情| 欧美一级电影在线| 欧美午夜片在线免费观看| 国内精品久久久| 欧美日韩国产一区二区| 欧美孕妇与黑人孕交| 国产亚洲精品久久久久久牛牛| www.日韩欧美| 亚洲国产小视频在线观看| 国产精品狼人色视频一区| 国产欧美日韩专区发布| 欧美资源在线观看| 77777亚洲午夜久久多人| 日韩动漫免费观看电视剧高清| 成人黄色影片在线| 亚洲成人a**站| 欧美极品欧美精品欧美视频| 国产精品亚洲一区二区三区| 91精品啪在线观看麻豆免费| 国产精品日韩一区| 日本三级韩国三级久久| 精品av在线播放| 国产精品影片在线观看| 久久免费视频在线| 欧美在线一级视频| 国产精品久久中文| 成人国产亚洲精品a区天堂华泰| 亚洲乱码一区av黑人高潮| 国产成人精品a视频一区www| 久久久久久国产精品| 全亚洲最色的网站在线观看|