Lightweight Line/Area/Pie Chart Plugin with jQuery and Canvas
File Size: | 7.29 KB |
---|---|
Views Total: | 13366 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |
A simple lightweight jQuery plugin that makes use of canvas
& Javascript to produce an interactive Line, Area, Scattered, Bar, Hybrid, Pie chart with many configuration options.
How to use it:
1. Load the latest version of jQuery library and the jQuery line chart plugin in your document.
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js" type="text/javascript"></script> <script src="SimpleChart.js"></script>
2. Create an empty DIV element which will be served as a container for the line chart.
<div id="linegraph"> </div>
3. Prepare your plotted data using JavaScript arrays.
var graphdata1 = { linecolor: "#FF99CC", title: "Monday", values: [ { X: "6:00", Y: 0.00 }, { X: "7:00", Y: 20.00 }, { X: "8:00", Y: 40.00 }, { X: "9:00", Y: 34.00 }, { X: "10:00", Y: 40.25 }, { X: "11:00", Y: 28.56 }, { X: "12:00", Y: 18.57 }, { X: "13:00", Y: 34.00 }, { X: "14:00", Y: 40.89 }, { X: "15:00", Y: 12.57 }, { X: "16:00", Y: 28.24 }, { X: "17:00", Y: 18.00 }, { X: "18:00", Y: 34.24 }, { X: "19:00", Y: 40.58 }, { X: "20:00", Y: 12.54 }, { X: "21:00", Y: 28.00 }, { X: "22:00", Y: 18.00 }, { X: "23:00", Y: 34.89 }, { X: "0:00", Y: 40.26 }, { X: "1:00", Y: 28.89 }, { X: "2:00", Y: 18.87 }, { X: "3:00", Y: 34.00 }, { X: "4:00", Y: 40.00 } ] }; var graphdata2 = { linecolor: "#00CC66", title: "Tuesday", values: [ { X: "6:00", Y: 0.00 }, { X: "7:00", Y: 120.00 }, { X: "8:00", Y: 140.00 }, { X: "9:00", Y: 134.00 }, { X: "10:00", Y: 140.25 }, { X: "11:00", Y: 128.56 }, { X: "12:00", Y: 118.57 }, { X: "13:00", Y: 134.00 }, { X: "14:00", Y: 140.89 }, { X: "15:00", Y: 112.57 }, { X: "16:00", Y: 128.24 }, { X: "17:00", Y: 118.00 }, { X: "18:00", Y: 134.24 }, { X: "19:00", Y: 140.58 }, { X: "20:00", Y: 112.54 }, { X: "21:00", Y: 128.00 }, { X: "22:00", Y: 118.00 }, { X: "23:00", Y: 134.89 }, { X: "0:00", Y: 140.26 }, { X: "1:00", Y: 128.89 }, { X: "2:00", Y: 118.87 }, { X: "3:00", Y: 134.00 }, { X: "4:00", Y: 180.00 } ] }; var graphdata3 = { linecolor: "#3399FF", title: "Wednesday", values: [ { X: "6:00", Y: 30.00 }, { X: "7:00", Y: 10.00 }, { X: "8:00", Y: 14.00 }, { X: "9:00", Y: 34.00 }, { X: "10:00", Y: 47.25 }, { X: "11:00", Y: 18.56 }, { X: "12:00", Y: 68.57 }, { X: "13:00", Y: 74.00 }, { X: "14:00", Y: 80.89 }, { X: "15:00", Y: 42.57 }, { X: "16:00", Y: 98.24 }, { X: "17:00", Y: 108.00 }, { X: "18:00", Y: 14.24 }, { X: "19:00", Y: 14.58 }, { X: "20:00", Y: 11.54 }, { X: "21:00", Y: 48.00 }, { X: "22:00", Y: 58.00 }, { X: "23:00", Y: 34.89 }, { X: "0:00", Y: 10.26 }, { X: "1:00", Y: 148.89 }, { X: "2:00", Y: 138.87 }, { X: "3:00", Y: 164.00 }, { X: "4:00", Y: 170.00 } ] };
4. Initialize the plugin to draw a line chart into the DIV container you just created.
$(function () { $("#linegraph").LineChart({ toolwidth: "50", toolheight: "25", axiscolor: "#E6E6E6", textcolor: "#6E6E6E", showlegends: true, data: [graphdata1, graphdata2, graphdata3], legendsize: "80", legendposition: 'bottom', xaxislabel: 'Hours', title: 'Weekly Profit', yaxislabel: 'Profit in $' }); });
5. The sample CSS to style the line chart.
.LineChart #tip { background-color: #f0f0f0; border: 1px solid #d0d0d0; position: absolute; left: -200px; top: 30px; } .down-triangle { width: 0; height: 0; border-top: 10px solid #d0d0d0; border-left: 6px solid transparent; border-right: 6px solid transparent; position: absolute; left: -200px; } .LineChart #highlighter { position: absolute; left: -200px; } .-line-chart-holder { float: left; position: relative; width: 100%; background-color: #fff; border: 1px solid #cecece;/*padding: 6px;*/ } .LineChart .legendsli { list-style: none; } .LineChart .legendsli span { float: left; vertical-align: middle; } .LineChart .legendsli span.legendindicator { position: relative; top: 5px; } .LineChart .legendsli span.legendindicator .line { width: 30px; height: 3px; } .LineChart .legendsli span.legendindicator .circle { width: 12px; height: 12px; border-radius: 20px; position: relative; top: -5px; right: 20px; } .line-chart-legends { background: #E7E7E7; border: 1px solid #d6d7dd; padding: 5px; margin: 2px 0px; } .line-chart-legends ul { } .line-chart-legends ul li { display: inline; border-right: 1px solid #d6d7dd; float: left; padding: 10px; } .line-chart-legends ul li:last-child { border-right: 0px; } .line-chart-legends.vertical { margin: 0px 10px; } .line-chart-legends.vertical ul li { display: block; border: 0px; border-bottom: 1px solid #d6d7dd; } .line-chart-legends.vertical ul li:last-child { border-bottom: 0px; } .line-chart-Header { position: absolute; font-size: 16px; }
6. All the default configs.
$(function () { $("#linegraph").LineChart({ ChartType: "Line", //Area, Scattered xPadding: 60, yPadding: 50, topmargin: 25, rightmargin: 20, data: null, toolwidth: 300, toolheight: 300, axiscolor: "#333", font: "italic 10pt sans-serif", headerfontsize: "14px", axisfontsize: "12px", textAlign: "center", textcolor: "#E6E6E6", showlegends: true, legendposition: 'bottom', legendsize: '100', xaxislabel: null, yaxislabel: null, title: null, LegendTitle: "Legend" }); });
Change logs:
2015-01-30
- Added Stacked, Stacked hybrid and enhancements to pie.
2015-01-23
- Added bar, hybrid, pie chart support.
2015-01-12
- added Area/Scatterred Chart support.
This awesome jQuery plugin is developed by moniecorleone. For more Advanced Usages, please check the demo page or visit the official website.