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 personal, |
15 * | charity and educational purposes it is free to use. You can read the full |
17 * | http://www.rgraph.net/LICENSE.txt |
18 * o------------------------------------------------------------------------------o
21 <title>RGraph: HTML5 canvas graph library - rose chart documentation</title>
22 <link rel="stylesheet" href="../css/website.css" type="text/css" media="screen" />
23 <link rel="icon" type="image/png" href="/favicon.png">
27 <!-- Social networking buttons -->
28 <script src="../libraries/RGraph.common.core.js" ></script>
31 function HideTwitterDIV ()
33 document.getElementById("twitter_div").style.opacity = 0;
34 document.getElementById("twitter_div").style.display = 'none';
38 function ShowTwitterDIV (e)
40 var e = RGraph.FixEventObject(document.all ? event : e);
41 var div = document.getElementById("twitter_div");
42 var img = document.getElementById("twitter_icon");
44 div.style.display = 'block';
45 div.style.left = (RGraph.getCanvasXY(img)[0] + img.offsetWidth - div.offsetWidth + 110) + 'px';
46 div.style.top = (RGraph.getCanvasXY(img)[1] - 1) + 'px';
51 setTimeout('document.getElementById("twitter_div").style.opacity = 0.2;', 25);
52 setTimeout('document.getElementById("twitter_div").style.opacity = 0.4;', 50);
53 setTimeout('document.getElementById("twitter_div").style.opacity = 0.6;', 100);
54 setTimeout('document.getElementById("twitter_div").style.opacity = 0.8;', 125);
55 setTimeout('document.getElementById("twitter_div").style.opacity = 1.0;', 150);
63 * This code installs the event handler that hides the Twitter DIV
66 window.attachEvent('onload', function () {document.body.attachEvent('onclick', HideTwitterDIV);});
68 window.addEventListener('click', HideTwitterDIV, false);
72 <!-- The twitter DIV -->
73 <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;">
74 <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>
75 <a href="http://twitter.com/_rgraph" style="text-decoration: none" rel="nofollow" target="_blank">Follow for HTML5 news</a>
78 <div id="social_icons" class="warning" style="top: 0; left: 5px; position: absolute">
81 if (navigator.userAgent.indexOf('Opera') == -1) {
82 document.getElementById("social_icons").style.position = 'fixed';
83 document.getElementById("twitter_div").style.position = 'fixed';
88 <b style="display: inline-block; position: relative; top: 1px">Bookmark and share:</b>
92 <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">
93 <img src="../images/delicious.png" alt="Bookmark with delicious" width="22" height="22" border="0" align="absmiddle" />
96 <a href="" target="_blank" onmouseover="if (document.getElementById('twitter_div').style.display == 'none') ShowTwitterDIV(event);" onclick="event.stopPropagation(); event.cancelBubble = true; return false">
97 <img src="../images/twitter.png" id="twitter_icon" alt="tweet this site" width="22" height="22" border="0" align="absmiddle" />
102 <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">
103 <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"/>
107 <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">
108 <img src="../images/facebook.png" width="22" height="22" alt="Post to Facebook" align="absmiddle" style="position: relative; top: -2px; border: 0" border="0"/>
111 <a href="mailto:share@friendfeed.com" title="Share on FriendFeed">
112 <img src="../images/friendfeed.png" width="22" height="22" alt="Share on FriendFeed" border="0" align="absmiddle" />
115 <a href="http://www.stumbleupon.com/submit?url=http://www.rgraph.net" target="_blank" title="Share on StumbleUpon" >
116 <img src="../images/stumble.png" alt="Stumble! this site" width="22" height="22" border="0" align="absmiddle" />
121 <!-- /Social networking buttons -->
123 <div id="breadcrumb">
124 <a href="../index.html">RGraph: HTML5 canvas graph library</a>
126 <a href="index.html">Documentation</a>
131 <h1>RGraph: HTML5 canvas graph library - Rose chart documentation</h1>
134 if (RGraph.isIE8()) {
135 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>');
140 The example file is <a href="../examples/rose.html">here</a>.
145 window.onload = function ()
147 var data = [41,37,16,3,3];
149 var rose = new RGraph.Rose('myRose', data);
150 rose.Set('chart.labels', ['MSIE 7 (41%)',
160 <a name="available.properties"></a>
162 <li><a href="#available.properties">Properties</a></li>
163 <li><a href="#available.methods">Methods</a></li>
169 You can use these properties to control how the Rose chart appears. You can set them by using the Set() method. Eg:
173 <b>myRose.Set('name', 'value');</b>
177 <li><a href="#margins">Margins</a></li>
178 <li><a href="#colors">Colors</a></li>
179 <li><a href="#labels and text">Labels and text</a></li>
180 <li><a href="#titles">Titles</a></li>
181 <li><a href="#axis properties">Axis properties</a></li>
182 <li><a href="#scale">Scale</a></li>
183 <li><a href="#key">Key</a></li>
184 <li><a href="#interactive features">Interactive features</a></li>
185 <li><a href="#zoom">Zoom</a></li>
190 <a name="margins"></a>
191 <h3 style="border: 1px solid #aaa; background-color: #eee; font-style: italic; padding: 5px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px">Margins</h3> <a name="chart.gutter"></a>
192 <b>chart.gutter</b><br />
193 The gutter used on the chart<br /><i>Default: 25</i><br /><br />
194 <a name="colors"></a>
195 <h3 style="border: 1px solid #aaa; background-color: #eee; font-style: italic; padding: 5px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px">Colors</h3> <a name="chart.colors"></a>
196 <b>chart.colors</b><br />
197 An array of colors to be used by the chart. <br /><i>Default: ['rgb(255,0,0)', 'rgb(0,255,255)', 'rgb(0,255,0)', 'rgb(127,127,127)', 'rgb(0,0,255)', 'rgb(255,128,255)']</i><br /><br />
198 <a name="chart.colors.alpha"></a>
199 <b>chart.colors.alpha</b><br />
200 Instead of using <i>rgba()</i>, you can use color definitions such as <i>red</i> along with this setting to add transparency. <br /><i>Default: null</i></i><br /><br />
201 <a name="labels and text"></a>
202 <h3 style="border: 1px solid #aaa; background-color: #eee; font-style: italic; padding: 5px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px">Labels and text</h3> <a name="chart.text.font"></a>
203 <b>chart.text.font</b><br />
204 The font used to render the text.<br /><i>Default: Verdana</i><br /><br />
205 <a name="chart.text.color"></a>
206 <b>chart.text.color</b><br />
207 The color of the labels. <br /><i>Default: black</i><br /><br />
208 <a name="chart.text.size"></a>
209 <b>chart.text.size</b><br />
210 The size of the text (in points).<br /> <i>Default: 10</i><br /><br />
211 <a name="chart.labels"></a>
212 <b>chart.labels</b><br />
213 The labels, if any, for the graph.<br /><i>Default: none</i><br /><br />
214 <a name="chart.labels.axes"></a>
215 <b>chart.labels.axes</b><br />
216 This controls the axes that show the scale labels. Each letter stands for the appropriate axis (North, South, East and West)<br /><i>Default: nsew</i><br /><br />
217 <a name="chart.labels.position"></a>
218 <b>chart.labels.position</b><br />
219 This can be either <i>center</i> or <i>edge</i> and determines the position of the labels.<br /><i>Default: center</i><br /><br />
220 <a name="titles"></a>
221 <h3 style="border: 1px solid #aaa; background-color: #eee; font-style: italic; padding: 5px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px">Titles</h3> <a name="chart.title"></a>
222 <b>chart.title</b><br />
223 The title of the chart. <br /><i>Default: none</i><br /><br />
225 <a name="chart.title.background"></a>
226 <b>chart.title.background</b><br />
227 The background color (if any) for the title.<br />
228 <i>Default: null</i><br /><br />
230 <a name="chart.title.color"></a>
231 <b>chart.title.color</b><br />
232 The color of the title.<br /> <i>Default: black</i><br /><br />
233 <a name="chart.title.hpos"></a>
234 <b>chart.title.hpos</b><br />
235 This allows you to completely override the horizontal positioning of the title. It should be a number between 0 and 1, and is multiplied with the whole width of the canvas and then used as the horizontal position. <br /><i>Default: null</i><br /><br />
236 <a name="chart.title.vpos"></a>
237 <b>chart.title.vpos</b><br />
238 This allows you to completely override the vertical positioning of the title. It should be a number between 0 and 1, and is multiplied with the gutter and then used as the vertical position. It can be useful if you need to have a large gutter.<br /><i>Default: null</i><br /><br />
240 <a name="axis properties"></a>
241 <h3 style="border: 1px solid #aaa; background-color: #eee; font-style: italic; padding: 5px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px">Axis properties</h3> <a name="chart.ymax"></a>
242 <b>chart.ymax</b><br />
243 This can be set to control the maximum value of the scale. It's so called to maintain a degree of API compatibility across graph libraries.<br /><i>Default: null</i><br /><br />
246 <h3 style="border: 1px solid #aaa; background-color: #eee; font-style: italic; padding: 5px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px">Scale</h3>
248 <a name="chart.scale.round"></a>
249 <b>chart.scale.round</b><br />
250 Whether to round the maximum scale value up or not. This will produce slightly better scales in some instances.<br />
251 <i>Default: null</i><br /><br />
256 <h3 style="border: 1px solid #aaa; background-color: #eee; font-style: italic; padding: 5px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px">Key</h3>
258 <a name="chart.key"></a>
259 <b>chart.key</b><br />
260 An array of key information. <br />
261 <i>Default: [] (An empty array)</i><br /><br />
263 <a name="chart.key.background"></a>
264 <b>chart.key.background</b><br />
265 The color of the key background. Typically white, you could set this to something like rgba(255,255,255,0.7) to allow people to see things behind it.<br>
266 <i>Default: white</i><br /><br />
268 <a name="chart.key.position"></a>
269 <b>chart.key.position</b><br />
270 Determines the position of the key.Either <b>graph</b> (default), or <b>gutter</b>.<br />
271 <i>Default: graph</i><br /><br />
273 <b>chart.key.position.x</b><br />
274 This allows you to specify a specific X coordinate for the key.<br />
275 <i>Default: null</i><br /><br />
277 <b>chart.key.position.y</b><br />
278 This allows you to specify a specific Y coordinate for the key.<br />
279 <i>Default: null</i><br /><br />
281 <b>chart.key.position.gutter.boxed</b><br />
282 If you have the key in gutter mode (ie horizontal), this allows you to give a background color.<br />
283 <i>Default: true</i><br /><br />
285 <a name="chart.key.shadow"></a>
286 <b>chart.key.shadow</b><br />
287 Whether a small drop shadow is applied to the key.<br />
288 <i>Default: false</i><br /><br />
290 <a name="chart.key.shadow.color"></a>
291 <b>chart.key.shadow.color</b><br />
292 The color of the shadow.<br />
293 <i>Default: #666</i><br /><br />
295 <a name="chart.key.shadow.blur"></a>
296 <b>chart.key.shadow.blur</b><br />
297 The extent of the blurring effect used on the shadow.<br />
298 <i>Default: 3</i><br /><br />
300 <a name="chart.key.shadow.offsetx"></a>
301 <b>chart.key.shadow.offsetx</b><br />
302 The X offset of the shadow.<br />
303 <i>Default: 2</i><br /><br />
305 <a name="chart.key.shadow.offsety"></a>
306 <b>chart.key.shadow.offsety</b><br />
307 The Y offset of the shadow.<br />
308 <i>Default: 2</i><br /><br />
310 <b>chart.key.rounded</b><br />
311 This controls whether the corners of the key (in graph mode) are curved. If the key is gutter mode, this has no effect.<br />
312 <i>Default: false</i><br /><br />
314 <b>chart.key.color.shape</b><br />
315 This can be <i>square</i>, <i>circle</i> or <i>line</i> and controls how the color indicators in the key appear.<br />
316 <i>Default: square</i><br /><br />
320 <a name="interactive features"></a>
321 <h3 style="border: 1px solid #aaa; background-color: #eee; font-style: italic; padding: 5px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px">Interactive features</h3> <a name="chart.tooltips"></a>
322 <b>chart.tooltips</b><br />
323 An array of tooltips. You can use HTML if you so wish.<br /> <i>Default: [] (An empty array)</i><br /><br />
324 <a name="chart.tooltips.effect"></a>
325 <b>chart.tooltips.effect</b><br />
326 The tooltip effect used. Can be either <b>fade</b> or <b>expand</b>.<br /><i>Default: fade</i><br /><br />
327 <a name="chart.tooltips.css.class"></a>
328 <b>chart.tooltips.css.class</b><br />
329 This is the name of the CSS class the graph uses.<br /><i>Default: RGraph_tooltip</i><br /><br />
330 <a name="chart.tooltips.override"></a>
331 <b>chart.tooltips.override</b><br />
332 If you wish to handle showing tooltips yourself, this should be a function object which does just that. There's more information on the <a href="tooltips.html">tooltips documentation page</a><br /><i>Default: null</i><br /><br />
333 <a name="chart.contextmenu"></a>
334 <b>chart.contextmenu</b><br />
335 An array of context menu items. More information on context menus is <a href="context.html">here</a>.<br /><i>Default: [] (An empty array)</i><br /><br />
336 <a name="chart.annotatable"></a>
337 <b>chart.annotatable</b><br />
338 Whether annotations are enabled for the chart (ie you can draw on the chart interactively.<br /><i>Default: false</i><br /><br />
339 <a name="chart.annotate.color"></a>
340 <b>chart.annotate.color</b><br />
341 If you do not allow the use of the palette, then this will be the only colour allowed for annotations.<br /><i>Default: black</i><br /><br />
342 <a name="chart.resizable"></a>
343 <b>chart.resizable</b><br />
344 Defaulting to false, this determines whether your graph will be resizable. Because of the numerous event handlers this has to install code on, This feature is unlikely to work with other dynamic features (the context menu is fine however).<br /><i>Default: false</i><br /><br />
345 <a name="chart.adjustable"></a>
346 <b>chart.adjustable</b><br />
347 Defaulting to false, this determines whether your rose chart will be adjustable (click the edge of a segment and drag to adjust it). <br /><i>Default: false</i><br /><br />
349 <h3 style="border: 1px solid #aaa; background-color: #eee; font-style: italic; padding: 5px; -moz-border-radius: 10px; -webkit-border-radius: 10px; border-radius: 10px">Zoom</h3> <a name="chart.zoom.mode"></a>
350 <b>chart.zoom.mode</b><br />
351 Can be used to control whether the zoom is in thumbnail or canvas mode. Possible values are: <i>thumbnail</i> and <i>canvas</i>.<br /><i>Default: canvas</i><br /><br />
352 <a name="chart.zoom.factor"></a>
353 <b>chart.zoom.factor</b><br />
354 This is the factor that the graph will be zoomed by (bigger values means more zoom)<br /><i>Default: 1.5</i><br /><br />
355 <a name="chart.zoom.fade.in"></a>
356 <b>chart.zoom.fade.in</b><br />
357 Whether the zoomed canvas fades in or not. This also can be used to control the fade in for the zoom in thumbnail mode.<br /><i>Default: true</i><br /><br />
358 <a name="chart.zoom.fade.out"></a>
359 <b>chart.zoom.fade.out</b><br />
360 Whether the zoomed canvas fades out or not. This also can be used to control the fade in for the zoom in thumbnail mode.<br /><i>Default: true</i><br /><br />
361 <a name="chart.zoom.hdir"></a>
362 <b>chart.zoom.hdir</b><br />
363 The horizontal direction of the zoom. Possible values are: <i>left</i>, <i>center</i>, <i>right</i><br /><i>Default: right</i><br /><br />
364 <a name="chart.zoom.vdir"></a>
365 <b>chart.zoom.vdir</b><br />
366 The vertical direction of the zoom. Possible values are: <i>up</i>, <i>center</i>, <i>down</i><br /><i>Default: down</i><br /><br />
367 <a name="chart.zoom.delay"></a>
368 <b>chart.zoom.delay</b><br />
369 The delay (in milliseconds) between frames.<br /><i>Default: 50</i><br /><br />
370 <a name="chart.zoom.frames"></a>
371 <b>chart.zoom.frames</b><br />
372 The number of frames in the zoom animation.<br /><i>Default: 10</i><br /><br />
373 <a name="chart.zoom.shadow"></a>
374 <b>chart.zoom.shadow</b><br />
375 Whether or not the zoomed canvas has a shadow or not.<br /><i>Default: true</i><br /><br />
376 <a name="chart.zoom.thumbnail.width"></a>
377 <b>chart.zoom.thumbnail.width</b><br />
378 When the zoom is in thumbnail mode, this is the width (in pixels) of the thumbnail.<br /><i>Default: 75</i><br /><br />
379 <a name="chart.zoom.thumbnail.height"></a>
380 <b>chart.zoom.thumbnail.height</b><br />
381 When the zoom is in thumbnail mode, this is the height (in pixels) of the thumbnail.<br /><i>Default: 75</i><br /><br />
382 <a name="chart.zoom.background"></a>
383 <b>chart.zoom.background</b><br />
384 Defaulting to true, this determines whether the zoom has a dark, semi-opaque background that covers the entire web page.<br /><i>Default: true</i><br /><br />
387 <a name="available.methods"></a>
391 <b>RGraph.getSegment()</b><br /><br />
393 RGraph.getSegment() makes it easy to determine which segment of the Rose chart was clicked on. It provides:
396 <li>Originating X coordinate</li>
397 <li>Originating Y coordinate</li>
398 <li>The radius of the segment</li>
399 <li>The starting angle (in degrees)</li>
400 <li>The ending angle (in degrees)</li>
405 RGraph.Register(myGraph);
407 myGraph.canvas.onclick = function (e)
409 RGraph.FixEventObject(e);
412 var canvas = e.target;
413 var context = canvas.getContext('2d');
414 var obj = canvas.__object__;
415 <span style="color: green">var segment = RGraph.getSegment(e);</span>
418 context.fillStyle = 'rgba(255,255,255,0.5)';
421 // Angles are provided in degrees, so convert them to radians
425 context.moveTo(segment[0], segment[1]);
426 context.arc(segment[0], segment[1], segment[2], segment[3], segment[4], 0);
434 window.onclick = function (e)