1 <?php ob_start('ob_gzhandler') ?>
5 <meta http-equiv="X-UA-Compatible" content="chrome=1">
8 * o------------------------------------------------------------------------------o
9 * | This file is part of the RGraph package - you can learn more at: |
11 * | http://www.rgraph.net |
13 * | This package is licensed under the RGraph license. For all kinds of business |
14 * | purposes there is a small one-time licensing fee to pay and for non |
15 * | commercial purposes it is free to use. You can read the full license here: |
17 * | http://www.rgraph.net/LICENSE.txt |
18 * o------------------------------------------------------------------------------o
21 <title>RGraph: HTML5 canvas graph library - pie chart</title>
23 <meta name="keywords" content="rgraph html5 canvas example pie chart" />
24 <meta name="description" content="RGraph: Pie chart example" />
26 <link rel="stylesheet" href="../css/website.css" type="text/css" media="screen" />
27 <link rel="icon" type="image/png" href="../images/favicon.png">
29 <script src="../libraries/RGraph.common.core.js" ></script>
30 <script src="../libraries/RGraph.common.annotate.js" ></script>
31 <script src="../libraries/RGraph.common.context.js" ></script>
32 <script src="../libraries/RGraph.common.tooltips.js" ></script>
33 <script src="../libraries/RGraph.common.zoom.js" ></script>
34 <script src="../libraries/RGraph.common.resizing.js" ></script>
35 <script src="../libraries/RGraph.pie.js" ></script>
36 <!--[if IE 8]><script src="../excanvas/excanvas.compressed.js"></script><![endif]-->
39 window.onload = function ()
42 * These are not angles - these are values. The appropriate angles are calculated
44 var pie1 = new RGraph.Pie('pie1', [41,37,16,3,3]); // Create the pie object
45 pie1.Set('chart.labels', ['MSIE 7 (41%)', 'MSIE 6 (37%)', 'Firefox (16%)', 'Safari (3%)', 'Other (3%)']);
46 pie1.Set('chart.gutter', 30);
47 pie1.Set('chart.title', "Browsers (tooltips, context, zoom)");
48 pie1.Set('chart.shadow', false);
49 pie1.Set('chart.tooltips.effect', 'fade');
50 pie1.Set('chart.tooltips.event', 'onmousemove');
51 pie1.Set('chart.tooltips', [
52 'Internet Explorer 7 (41%)',
53 'Internet Explorer 6 (37%)',
54 'Mozilla Firefox (16%)',
59 pie1.Set('chart.highlight.style', '3d'); // Defaults to 3d anyway; can be 2d or 3d
61 if (!RGraph.isIE8()) {
62 pie1.Set('chart.zoom.hdir', 'center');
63 pie1.Set('chart.zoom.vdir', 'up');
64 pie1.Set('chart.labels.sticks', true);
65 pie1.Set('chart.labels.sticks.color', '#aaa');
66 pie1.Set('chart.contextmenu', [['Zoom in', RGraph.Zoom]]);
69 pie1.Set('chart.linewidth', 5);
70 pie1.Set('chart.labels.sticks', true);
71 pie1.Set('chart.strokestyle', 'white');
74 var pie2 = new RGraph.Pie('pie2', [2,29,45,17,7]); // Create the pie object
75 pie2.Set('chart.gutter', 45);
76 pie2.Set('chart.title', "Some data (context, annotatable)");
77 pie2.Set('chart.linewidth', 1);
78 pie2.Set('chart.strokestyle', '#333');
79 pie2.Set('chart.shadow', true);
80 pie2.Set('chart.shadow.blur', 3);
81 pie2.Set('chart.shadow.offsetx', 3);
82 pie2.Set('chart.shadow.offsety', 3);
83 pie2.Set('chart.shadow.color', 'rgba(0,0,0,0.5)');
84 pie2.Set('chart.colors', ['red', 'pink', '#6f6', 'blue', 'yellow']);
85 pie2.Set('chart.contextmenu', [['Clear', function () {RGraph.Clear(pie2.canvas); pie2.Draw();}]]);
86 pie2.Set('chart.key', ['John (2%)', 'Richard (29%)', 'Fred (45%)', 'Brian (17%)', 'Peter (7%)']);
87 pie2.Set('chart.key.background', 'white');
88 pie2.Set('chart.key.shadow', true);
89 pie2.Set('chart.annotatable', true);
90 pie2.Set('chart.align', 'left');
97 <!-- Social networking buttons -->
100 function HideTwitterDIV ()
102 document.getElementById("twitter_div").style.opacity = 0;
103 document.getElementById("twitter_div").style.display = 'none';
107 function ShowTwitterDIV (e)
109 var e = RGraph.FixEventObject(document.all ? event : e);
110 var div = document.getElementById("twitter_div");
111 var img = document.getElementById("twitter_icon");
113 div.style.display = 'block';
114 div.style.left = (RGraph.getCanvasXY(img)[0] + img.offsetWidth - div.offsetWidth + 110) + 'px';
115 div.style.top = (RGraph.getCanvasXY(img)[1] - 1) + 'px';
120 setTimeout('document.getElementById("twitter_div").style.opacity = 0.2;', 25);
121 setTimeout('document.getElementById("twitter_div").style.opacity = 0.4;', 50);
122 setTimeout('document.getElementById("twitter_div").style.opacity = 0.6;', 100);
123 setTimeout('document.getElementById("twitter_div").style.opacity = 0.8;', 125);
124 setTimeout('document.getElementById("twitter_div").style.opacity = 1.0;', 150);
132 * This code installs the event handler that hides the Twitter DIV
134 if (RGraph.isIE8()) {
135 window.attachEvent('onload', function () {document.body.attachEvent('onclick', HideTwitterDIV);});
137 window.addEventListener('click', HideTwitterDIV, false);
141 <!-- The twitter DIV -->
142 <div id="twitter_div" style="position: absolute;top: 0;left: 0;background-color: #eee;border: 2px dashed black;box-shadow: 0 0 15px #aaa;-moz-box-shadow: 0 0 15px #aaa;-webkit-box-shadow: 0 0 15px #aaa;padding: 3px;display: none;opacity: 0;z-index: 99;">
143 <a href="http://twitter.com/home/?status=RGraph%3A+HTML5+canvas+graph+library+based+on+the+HTML5+canvas+tag+http%3A%2F%2Fwww.rgraph.net+%23rgraph+%23html5+%23canvas" target="_blank" title="Share on Twitter" rel="nofollow" style="text-decoration: none">Tweet about RGraph</a><br>
144 <a href="http://twitter.com/_rgraph" style="text-decoration: none" rel="nofollow" target="_blank">Follow for HTML5 news</a>
147 <div id="social_icons" class="warning" style="top: 0; left: 5px; position: absolute">
150 if (navigator.userAgent.indexOf('Opera') == -1) {
151 document.getElementById("social_icons").style.position = 'fixed';
152 document.getElementById("twitter_div").style.position = 'fixed';
157 <b style="display: inline-block; position: relative; top: 1px">Bookmark and share:</b>
161 <a title="Bookmark with delicious" href="http://delicious.com/save?jump=close&v=4&noui&jump=close&url=http://www.rgraph.net¬es=RGraph%20is%20a%20HTML5%20based%20graph%20library%20supporting%20a%20wide%20range%20of%20different%20graph%20types:Bar,%20Bipolar,%20Donut,%20Funnel,%20Gantt,%20Horizontal%20Bar,%20LED,%20Line,%20Meter,%20Odometer,%20Pie,%20Progress%20Bar,%20Rose,%20RScatter,%20Scatter%20and%20Traditional%20Radar&title=RGraph:%20HTML5%20canvas%20graph%20library%20based%20on%20the%20HTML5%20canvas%20tag" target="_blank">
162 <img src="../images/delicious.png" alt="Bookmark with delicious" width="22" height="22" border="0" align="absmiddle" />
165 <a href="" target="_blank" onmouseover="if (document.getElementById('twitter_div').style.display == 'none') ShowTwitterDIV(event);" onclick="event.stopPropagation(); event.cancelBubble = true; return false">
166 <img src="../images/twitter.png" id="twitter_icon" alt="tweet this site" width="22" height="22" border="0" align="absmiddle" />
171 <a title="Post to Google Buzz!" href="" onclick="window.open('http://www.google.com/buzz/post?url=http://www.rgraph.net&imageurl=http://www.rgraph.net/images/logo.png', 'google_buzz_window', 'width=800,height=400,top=100,left=100'); return false">
172 <img src="../images/buzz.png" width="22" height="22" alt="Post to Google Buzz!" align="absmiddle" style="position: relative; top: -2px; border: 0" border="0"/>
176 <a title="Share RGraph on Facebook" href="" onclick="window.open('http://www.facebook.com/sharer.php?u=http://www.rgraph.net&t=RGraph:%20HTML5%20canvas%20graph%20library', 'facebook_window', 'width=500,height=300,top=100,left=100'); return false">
177 <img src="../images/facebook.png" width="22" height="22" alt="Post to Facebook" align="absmiddle" style="position: relative; top: -2px; border: 0" border="0"/>
180 <a href="mailto:share@friendfeed.com" title="Share on FriendFeed">
181 <img src="../images/friendfeed.png" width="22" height="22" alt="Share on FriendFeed" border="0" align="absmiddle" />
184 <a href="http://www.stumbleupon.com/submit?url=http://www.rgraph.net" target="_blank" title="Share on StumbleUpon" >
185 <img src="../images/stumble.png" alt="Stumble! this site" width="22" height="22" border="0" align="absmiddle" />
190 <!-- /Social networking buttons -->
193 <div id="breadcrumb">
194 <a href="../index.html">RGraph: HTML5 canvas graph library</a>
196 <a href="./index.html">Examples</a>
201 <h1>RGraph: HTML5 canvas graph library - Pie chart</h1>
204 if (RGraph.isIE8()) {
205 document.write('<div style="background-color: #fee; border: 2px dashed red; padding: 5px"><b>Important</b><br /><br /> Internet Explorer 8 does not natively support the HTML5 canvas tag, so if you want to see the graphs, you can either:<ul><li>Install <a href="http://code.google.com/chrome/chromeframe/">Google Chrome Frame</a></li><li>Use ExCanvas. This is provided in the RGraph Archive.</li><li>Use another browser entirely. Your choices are Firefox 3.5+, Chrome 2+, Safari 4+ or Opera 10.5+. </li></ul> <b>Note:</b> Internet Explorer 9 fully supports the canvas tag. Click <a href="http://groups.google.com/group/rgraph/browse_thread/thread/c5651ff8c56b8f3c#" target="_blank">here</a> to see some screenshots.</div>');
212 The Pie chart can be used when you need to represent value as part of a whole. It is commonly used to represent percentages,
213 relative magnitudes or relative frequencies. If your intent is to compare a particular value (slice) against the whole of
214 the Pie chart, then it can be quite effective. If however you want to compare two seperate segments, then it can get
215 more difficult. If this is the case, you may want to consider a bar chart for example.
219 The colours can of course be customised, as can the borders (using the same color as the background and a line width of
220 about 5 gives the effect of segment separation. The chart can also have a drop shadow if you want one, but this shouldn't
221 be used in conjunction with segment seperation.
225 The first pie chart has a fade-in effect. This not part of the RGraph library but is very easy to implement.
231 <li><a href="../docs/pie.html">Pie chart API documentation</a></li>
235 <div style="text-align: center">
236 <canvas id="pie1" width="420" height="300">[No canvas support]</canvas>
237 <canvas id="pie2" width="440" height="300">[No canvas support]</canvas>