Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <cfsetting requesttimeout=" 6000000">
- <cfscript>
- function getPi(){
- var _http = new http();
- _http.setMethod("get");
- _http.setUrl('http://newton.ex.ac.uk/research/qsystems/collabs/pi/pi6.txt');
- var _txt = _http.send().getPrefix();
- return Left(ReReplace(_txt.filecontent,"[^0-9\.]","","ALL"),1000000);
- }
- function setQuery(p){
- var q = QueryNew("number");
- for(var i=1;i<=Len(p);i++){
- if(Mid(p,i,1)!="."){
- QueryAddRow(q);
- QuerySetCell(q,"number",Mid(p,i,1));
- }
- }
- var qoq = new Query(sql="SELECT number,COUNT(number) AS instance FROM q GROUP BY number",dbtype="query");
- qoq.setAttributes(q = q);
- return qoq.execute().getResult();
- }
- q = setQuery(getPi());
- </cfscript>
- <cfoutput><html>
- <head>
- <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" type="text/javascript"></script>
- <script type="text/javascript" src="https://www.google.com/jsapi"></script>
- <script type="text/javascript">
- google.load("visualization", "1", {packages:["corechart"]});
- google.setOnLoadCallback(drawChart);
- function drawChart() {
- var data = new google.visualization.DataTable();
- data.addColumn('string', 'Name');
- data.addColumn('number', 'Instances');
- data.addRows(#q.RecordCount#);
- <cfloop query="q">
- data.setValue(#val(q.currentRow-1)#, 0, '#number#');
- data.setValue(#val(q.currentRow-1)#, 1, #val(((instance/1000000)*100))#);
- </cfloop>
- var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
- chart.draw(data,
- {
- width: 800
- ,height: 600
- ,chartArea: {width:'800',height:'500',left:'0',top:'10'}
- ,pieSliceText:'value'
- }
- );
- }
- </script>
- </head>
- <body>
- <h1>Pi by the Slice</h1>Each slice represents the instances of a number in Pi up to 1,000,000 places.
- <div id="chart_div"></div>
- </body>
- </html></cfoutput>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement