Giter VIP home page Giter VIP logo

easy-pie-chart's Introduction

easy pie chart

Easy pie chart is a jQuery plugin that uses the canvas element to render simple pie charts for single values. These charts are highly customizable, very easy to implement, scale to the resolution of the display of the client to provide sharp charts even on retina displays, and use requestAnimationFrame for smooth animations on modern devices.

Get started

To use the easy pie chart plugin you need to load the current version of jQuery (testet with 1.7.2) and the source (css+js) of the plugin. You can also use bower to install the component:

bower install jquery.easy-pie-chart

Then just add the following lines to the head of your website:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="/path/to/jquery.easy-pie-chart.js"></script>

<link rel="stylesheet"type="text/css" href="/path/to/jquery.easy-pie-chart.css">

The second step is to add a element to your site to represent chart and add the data-percent attribute with the percent number the pie chart should have:

<div class="chart" data-percent="73">73%</div>

Finally you have to initialize the plugin with your desired configuration:

<script type="text/javascript">
$(function() {
    $('.chart').easyPieChart({
        //your configuration goes here
    });
});
</script>

Configuration parameter

You can pass a set of these options to the initialize function to set a custom behaviour and look for the plugin.

Property (Type) Default Description
barColor #ef1e25 The color of the curcular bar. You can pass either a css valid color string like rgb, rgba hex or string colors. But you can also pass a function that accepts the current percentage as a value to return a dynamically generated color.
trackColor #f2f2f2 The color of the track for the bar, false to disable rendering.
scaleColor #dfe0e0 The color of the scale lines, false to disable rendering.
lineCap round Defines how the ending of the bar line looks like. Possible values are: butt, round and square.
lineWidth 3 Width of the bar line in px.
size 110 Size of the pie chart in px. It will always be a square.
animate false Time in milliseconds for a eased animation of the bar growing, or false to deactivate.
onStart $.noop Callback function that is called at the start of any animation (only if animate is not false).
onStop $.noop Callback function that is called at the end of any animation (only if animate is not false).
onStep $.noop Callback function that is called during animations providing the current value (the context is the plugin, so you can access the DOM element via this.$el).

Plugin API

If you want to update the current percentage of the a pie chart, you can call the update method. The instance of the plugin is saved in the jQuery-data.

<script type="text/javascript">
$(function() {
    //create instance
    $('.chart').easyPieChart({
        animate: 2000
    });
    //update instance after 5 sec
    setTimeout(function() {
        $('.chart').data('easyPieChart').update(40);
    }, 5000);
});
</script>

Credits

Thanks to Rafal Bromirski for making this dribble shot which inspired me and Philip Thrasher for his CoffeeScript jQuery boilerplate

Changlog

Version 1.1.0 - Jun 10, 2013

  • Added missing onStop method
  • cast percent to float to avoid breaking chart if a string is passed to the update method

Version 1.0.2 - Jun 07, 2013

  • Use requestAnimationFrame for smooth animations
  • Added onStep option to get the current value during animations

Version 1.0.1 - Feb 07, 2013

  • Added retina support

Version 1.0.0 - Aug 02, 2012

  • Initial version

easy-pie-chart's People

Contributors

rendro avatar peters avatar alex-pex avatar nullcosmos avatar

Watchers

marco avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.