Note that there are some explanatory texts on larger screens.

plurals
  1. POCreating PIE chart using javascript
    primarykey
    data
    text
    <p>I am trying to create pie chart. Data will come from db but here I have taken static.</p> <p>Here is my fiddle: <a href="http://jsfiddle.net/MJqyC/" rel="nofollow">http://jsfiddle.net/MJqyC/</a></p> <p>Graph could be seen on my system on load. Here I have tried to show on button click but it does not show. where is mistake?</p> <p>js function is:</p> <pre><code>var paper; var arc; var colorArr = ["#468966","#FFF0A5"]; var pieData = [50,50]; var sectorAngleArr = []; var total = 0; var startAngle = 0; var endAngle = 0; var x1,x2,y1,y2 = 0; function init(){ paper = Raphael("holder"); //CALCULATE THE TOTAL for(var k=0; k &lt; pieData.length; k++){ total += pieData[k]; // alert(total); } //CALCULATE THE ANGLES THAT EACH SECTOR SWIPES AND STORE IN AN ARRAY for(var i=0; i &lt; pieData.length; i++){ var angle = Math.ceil(360 * pieData[i]/total); // alert(angle); sectorAngleArr.push(angle); } drawArcs(); } function drawArcs(){ for(var i=0; i &lt;sectorAngleArr.length; i++){ startAngle = endAngle; endAngle = startAngle + sectorAngleArr[i]; x1 = parseInt(200 + 180*Math.cos(Math.PI*startAngle/180)); y1 = parseInt(200 + 180*Math.sin(Math.PI*startAngle/180)); x2 = parseInt(200 + 180*Math.cos(Math.PI*endAngle/180)); y2 = parseInt(200 + 180*Math.sin(Math.PI*endAngle/180)); var d = "M200,200 L" + x1 + "," + y1 + " A180,180 0 0,1 " + x2 + "," + y2 + " z"; //1 means clockwise alert(d); arc = paper.path(d); arc.attr("fill",colorArr[i]); } } </code></pre> <p>UPDATE:</p> <p>Full code:</p> <pre><code>&lt;!DOCTYPE html&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head&gt; &lt;title&gt;Simple SVG Pie Chart&lt;/title&gt; &lt;script type="text/javascript" src="raphael-min.js"&gt;&lt;/script&gt; &lt;script type="text/javascript"&gt; var paper; var arc; var colorArr = ["#468966","#FFF0A5"]; var pieData = [50,50]; var sectorAngleArr = []; var total = 0; var startAngle = 0; var endAngle = 0; var x1,x2,y1,y2 = 0; function init(){ paper = Raphael("holder"); //CALCULATE THE TOTAL for(var k=0; k &lt; pieData.length; k++){ total += pieData[k]; // alert(total); } //CALCULATE THE ANGLES THAT EACH SECTOR SWIPES AND STORE IN AN ARRAY for(var i=0; i &lt; pieData.length; i++){ var angle = Math.ceil(360 * pieData[i]/total); // alert(angle); sectorAngleArr.push(angle); } drawArcs(); } function drawArcs(){ for(var i=0; i &lt;sectorAngleArr.length; i++){ startAngle = endAngle; endAngle = startAngle + sectorAngleArr[i]; x1 = parseInt(200 + 180*Math.cos(Math.PI*startAngle/180)); y1 = parseInt(200 + 180*Math.sin(Math.PI*startAngle/180)); x2 = parseInt(200 + 180*Math.cos(Math.PI*endAngle/180)); y2 = parseInt(200 + 180*Math.sin(Math.PI*endAngle/180)); var d = "M200,200 L" + x1 + "," + y1 + " A180,180 0 0,1 " + x2 + "," + y2 + " z"; //1 means clockwise //s alert(d); arc = paper.path(d); arc.attr("fill",colorArr[i]); } } &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;div id="holder" style="width:600px; height:400px;"&gt; &lt;input type="submit" onclick="init();" value="Graph"&gt; &lt;/input&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>Add js: </p> <p><a href="https://github.com/DmitryBaranovskiy/raphael/blob/master/raphael-min.js" rel="nofollow">https://github.com/DmitryBaranovskiy/raphael/blob/master/raphael-min.js</a></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload