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 - donut chart</title>
23 <meta name="keywords" content="rgraph html5 canvas example donut chart" />
24 <meta name="description" content="RGraph: Donut chart examples" />
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.context.js" ></script>
31 <script src="../libraries/RGraph.common.annotate.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.pie.js" ></script>
35 <!--[if IE 8]><script src="../excanvas/excanvas.compressed.js"></script><![endif]-->
38 window.onload = function ()
40 var donut = new RGraph.Pie('donut1', [41,37,16,3,3], [20,5,60,7,3], [17,3,68,6,3]);
41 donut.Set('chart.variant', 'donut');
42 donut.Set('chart.linewidth', 5);
43 donut.Set('chart.strokestyle', 'white');
44 donut.Set('chart.gutter', 45);
45 donut.Set('chart.title', "Browser share (zoom)");
47 donut.Set('chart.key', ['MSIE 7', 'MSIE 6', 'Firefox', 'Safari', 'Other']);
48 donut.Set('chart.key.shadow', true);
49 donut.Set('chart.key.shadow.offsetx', 3);
50 donut.Set('chart.key.shadow.offsety', 3);
51 donut.Set('chart.key.shadow.blur', 3);
52 donut.Set('chart.key.shadow.color', 'gray');
53 donut.Set('chart.key.position', 'graph');
54 donut.Set('chart.align', 'left');
56 if (!RGraph.isIE8()) {
57 donut.Set('chart.zoom.mode', 'area');
63 function getGradient(obj, color)
65 var gradient = obj.context.createRadialGradient(obj.canvas.width / 2, obj.canvas.height / 2, 0, obj.canvas.width / 2, obj.canvas.height / 2, 200);
66 gradient.addColorStop(0, 'black');
67 gradient.addColorStop(0.5, color);
68 gradient.addColorStop(1, 'black');
70 return RGraph.isIE8() ? color : gradient;
73 var donut2 = new RGraph.Pie('donut2', [8,6,5,3,8,9,9,4]);
75 // Create the gradients
76 var gradient = getGradient(donut2, 'red');
77 var gradient2 = getGradient(donut2, 'green');
78 var gradient3 = getGradient(donut2, 'pink');
79 var gradient4 = getGradient(donut2, 'yellow');
80 var gradient5 = getGradient(donut2, 'grey');
81 var gradient6 = getGradient(donut2, 'cyan');
82 var gradient7 = getGradient(donut2, 'red');
83 var gradient8 = getGradient(donut2, '#ddd');
84 var gradient9 = getGradient(donut2, 'blue');
86 donut2.Set('chart.variant', 'donut');
87 donut2.Set('chart.labels', ['Flipper', 'Harry', 'Ben', 'Richard', 'Keith', 'Ben', 'George', 'Barry']);
88 donut2.Set('chart.title', "Sales figures for week 43");
89 donut2.Set('chart.gutter', 35);
90 donut2.Set('chart.strokestyle', 'rgba(0,0,0,0)');
91 donut2.Set('chart.colors', [gradient, gradient2, gradient3, gradient4, gradient5, gradient6, gradient7, gradient8, gradient9]);
94 var donut3 = new RGraph.Pie('donut3', [41,37,16,3,3]);
95 donut3.Set('chart.labels', ['MISE 7', 'MSIE 6', 'Firefox', 'Safari', 'Other']);
96 donut3.Set('chart.strokestyle', 'white');
97 donut3.Set('chart.linewidth', 5);
98 donut3.Set('chart.title', "Browser market share (tooltips)");
99 donut3.Set('chart.tooltips', ['MISE 7', 'MSIE 6', 'Firefox', 'Safari', 'Other']);
100 donut3.Set('chart.variant', 'donut');
103 var donut4 = new RGraph.Pie('donut4', [5,4,3,5,2,1], [3,1,1,2,1,1]);
104 donut4.Set('chart.variant','donut');
105 donut4.Set('chart.linewidth', 5);
106 donut4.Set('chart.strokestyle', 'white');
107 donut4.Set('chart.linewidth', 5);
108 donut4.Set('chart.labels', ['Bob', 'Charles', 'Fred', 'Julian', 'Mark', 'Gary']);
115 <!-- Social networking buttons -->
118 function HideTwitterDIV ()
120 document.getElementById("twitter_div").style.opacity = 0;
121 document.getElementById("twitter_div").style.display = 'none';
125 function ShowTwitterDIV (e)
127 var e = RGraph.FixEventObject(document.all ? event : e);
128 var div = document.getElementById("twitter_div");
129 var img = document.getElementById("twitter_icon");
131 div.style.display = 'block';
132 div.style.left = (RGraph.getCanvasXY(img)[0] + img.offsetWidth - div.offsetWidth + 110) + 'px';
133 div.style.top = (RGraph.getCanvasXY(img)[1] - 1) + 'px';
138 setTimeout('document.getElementById("twitter_div").style.opacity = 0.2;', 25);
139 setTimeout('document.getElementById("twitter_div").style.opacity = 0.4;', 50);
140 setTimeout('document.getElementById("twitter_div").style.opacity = 0.6;', 100);
141 setTimeout('document.getElementById("twitter_div").style.opacity = 0.8;', 125);
142 setTimeout('document.getElementById("twitter_div").style.opacity = 1.0;', 150);
150 * This code installs the event handler that hides the Twitter DIV
152 if (RGraph.isIE8()) {
153 window.attachEvent('onload', function () {document.body.attachEvent('onclick', HideTwitterDIV);});
155 window.addEventListener('click', HideTwitterDIV, false);
159 <!-- The twitter DIV -->
160 <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;">
161 <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>
162 <a href="http://twitter.com/_rgraph" style="text-decoration: none" rel="nofollow" target="_blank">Follow for HTML5 news</a>
165 <div id="social_icons" class="warning" style="top: 0; left: 5px; position: absolute">
168 if (navigator.userAgent.indexOf('Opera') == -1) {
169 document.getElementById("social_icons").style.position = 'fixed';
170 document.getElementById("twitter_div").style.position = 'fixed';
175 <b style="display: inline-block; position: relative; top: 1px">Bookmark and share:</b>
179 <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">
180 <img src="../images/delicious.png" alt="Bookmark with delicious" width="22" height="22" border="0" align="absmiddle" />
183 <a href="" target="_blank" onmouseover="if (document.getElementById('twitter_div').style.display == 'none') ShowTwitterDIV(event);" onclick="event.stopPropagation(); event.cancelBubble = true; return false">
184 <img src="../images/twitter.png" id="twitter_icon" alt="tweet this site" width="22" height="22" border="0" align="absmiddle" />
189 <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">
190 <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"/>
194 <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">
195 <img src="../images/facebook.png" width="22" height="22" alt="Post to Facebook" align="absmiddle" style="position: relative; top: -2px; border: 0" border="0"/>
198 <a href="mailto:share@friendfeed.com" title="Share on FriendFeed">
199 <img src="../images/friendfeed.png" width="22" height="22" alt="Share on FriendFeed" border="0" align="absmiddle" />
202 <a href="http://www.stumbleupon.com/submit?url=http://www.rgraph.net" target="_blank" title="Share on StumbleUpon" >
203 <img src="../images/stumble.png" alt="Stumble! this site" width="22" height="22" border="0" align="absmiddle" />
208 <!-- /Social networking buttons -->
210 <div id="breadcrumb">
211 <a href="../index.html">RGraph: HTML5 canvas graph library</a>
213 <a href="./index.html">Examples</a>
218 <h1>RGraph: HTML5 canvas graph library - Donut chart</h1>
221 if (RGraph.isIE8()) {
222 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>');
229 Formerly the Donut chart was a separate class, though now it's a variant of the Pie chart. This means smaller downloads and
230 a much simpler implementation. Essentially it's a Pie chart with a big hole in the middle. If you want to compare multiple
231 datasets you will probably be better off with something like a stacked or grouped bar chart, as you will be able to make
237 <li><a href="../docs/pie.html">Pie chart API documentation</a></li>
241 <div style="width: 950px">
242 <div style="width: 450px; float: left">
243 <canvas id="donut1" width="450" height="350">[No canvas support]</canvas>
244 <canvas id="donut2" width="450" height="350">[No canvas support]</canvas>
247 <div style="width: 450px; float: right">
248 <canvas id="donut3" width="450" height="350">[No canvas support]</canvas>
249 <canvas id="donut4" width="450" height="350">[No canvas support]</canvas>