強大的JavaScript響應式圖表Chartist.js
#Chartist.js是一個非常簡單且實用的JavaScript前端圖表生成器,它支援SVG格式,圖表資料轉換十分靈活,同時也支援多種圖表展現形式,不失為一款前端開發者的開發利器。
設定十分簡單,可以很方便轉換各種圖表資料格式。
CSS和JavaScript分離,因此程式碼比較簡潔,使用就相對方便。
使用SVG格式,因此Chartist.js可以很靈活的在Web頁面上套用。
響應式圖表,支援不同的瀏覽器尺寸和解析度。
支援自訂SASS 架構。
Chartist.js的使用方法
首先你需要在其官方網站中下載JS包和CSS包,並且在頁面中引用它們:
<link rel="stylesheet" href="bower_components/chartist/dist/chartist.min.css"> <script src="bower_components/chartist/dist/chartist.min.js">
下面我們對一些常用的圖表類型做一個簡單的介紹。
效果圖:
JavaScript程式碼:
new Chartist.Line('.ct-chart', { labels: ['1', '2', '3', '4', '5', '6'], series: [ { name: 'Fibonacci sequence', data: [1, 2, 3, 5, 8, 13] }, { name: 'Golden section', data: [1, 1.618, 2.618, 4.236, 6.854, 11.09] } ] }); var easeOutQuad = function (x, t, b, c, d) { return -c * (t /= d) * (t - 2) + b; }; var $chart = $('.ct-chart'); var $toolTip = $chart .append('<p class="tooltip"></p>') .find('.tooltip') .hide(); $chart.on('mouseenter', '.ct-point', function() { var $point = $(this), value = $point.attr('ct:value'), seriesName = $point.parent().attr('ct:series-name'); $point.animate({'stroke-width': '50px'}, 300, easeOutQuad); $toolTip.html(seriesName + '<br>' + value).show(); }); $chart.on('mouseleave', '.ct-point', function() { var $point = $(this); $point.animate({'stroke-width': '20px'}, 300, easeOutQuad); $toolTip.hide(); }); $chart.on('mousemove', function(event) { $toolTip.css({ left: (event.offsetX || event.originalEvent.layerX) - $toolTip.width() / 2 - 10, top: (event.offsetY || event.originalEvent.layerY) - $toolTip.height() - 40 }); });
效果圖:
JavaScript程式碼:
new Chartist.Bar('.ct-chart', { labels: ['First quarter of the year', 'Second quarter of the year', 'Third quarter of the year', 'Fourth quarter of the year'], series: [ [60000, 40000, 80000, 70000], [40000, 30000, 70000, 65000], [8000, 3000, 10000, 6000] ] }, { seriesBarDistance: 10, axisX: { offset: 60 }, axisY: { offset: 80, labelInterpolationFnc: function(value) { return value + ' CHF' }, scaleMinSpace: 15 } });
效果圖:
JavaScript程式碼:
var data = { labels: ['Bananas', 'Apples', 'Grapes'], series: [20, 15, 40] }; var options = { labelInterpolationFnc: function(value) { return value[0] } }; var responsiveOptions = [ ['screen and (min-width: 640px)', { chartPadding: 30, labelOffset: 100, labelDirection: 'explode', labelInterpolationFnc: function(value) { return value; } }], ['screen and (min-width: 1024px)', { labelOffset: 80, chartPadding: 20 }] ]; new Chartist.Pie('.ct-chart', data, options, responsiveOptions);
更多關於Chartist.js的用法,可以前往其官方網站進行查閱,包括詳細地API。
以上是詳細介紹強大的JavaScript響應式圖表Chartist.js(圖文)的詳細內容。更多資訊請關注PHP中文網其他相關文章!