When you manually go to /yourapp/default/dashboard_data.json, do you get 
the JSON you expect? If so, when you load the page in question, if you 
watch the network activity in the browser developer tools, do you see an 
Ajax request successfully pulling in that JSON? If all that works, then the 
problem must be either with the format of the JSON or with your D3 code.

Anthony

On Tuesday, May 20, 2014 9:08:34 AM UTC-4, thehuman trashcan wrote:
>
> Hi,
>
> I am following the instructions at: 
> https://leanpub.com/D3-Tips-and-Tricks/read#leanpub-auto-crossfilter-dcjs-and-d3js-for-data-discoveryand
>  trying to put this into web2py.
>
> I created the database in the db.py, populated it with some data.
> I have created a controller which queries the database, and created a JSON 
> view (default/dashboard_data.json) pulling this data back.
>
> I have a view (visualisation.html) with the following code:
>
> {{
>   response.files.append(URL('static','js/d3.js'))
>   response.files.append(URL('static','js/crossfilter.js'))
>   response.files.append(URL('static','js/dc.js'))
> }}
> {{extend 'layout.html'}}
>
> <h1>Open source data dashboard</h1>
> <p>Pie chart displaying percentages of each category in the database</p>
>
> <div class='container' style='font: 12px sans-serif;'>
>   <div class='row'>
>     <div class='span12'>
>       <table  id='dc-table-graph'>
>         <thead>
>           <tr class='header'>
>             <th>IncDate</th>
>           </tr>
>         </thead>
>       </table>
>     </div>
>   </div>
> </div>
>
> <script>
> {{# create dc.js chart object & link to DIV}}
>     var dataTable = dc.dataTable("#dc-table-graph");
>
> {{# load data}}
> d3.json("{{=URL('default', 'dashboard_data.json')}}", function (data) {
>     
>     {{# format data}}
>       var dtgFormat = d3.time.format("%d/%m/%Y");
>     
>       data.forEach(function (d) {
>           d.incdate = dtgFormat.parse(d.IncorporationDate);
>       });
>
>     {{# run data through crossfilter}}
>       var facts = crossfilter(data);
>       
>       {{# Create dataTable dimension}}
>       var timeDimension = facts.dimension(function (d) {
>         return d.incdate;
>       });
>
>  dataTable.width(960).height(800)
>     .dimension(timeDimension)
> .group(function(d) { return "Table"
>  })
> .size(10)
>     .columns([
>       function(d) { return d.incdate; }
>     ])
>     .sortBy(function(d){ return d.incdate; })
>     .order(d3.ascending);
>
>         dc.renderAll ();
>        });
>         
> </script>
>
>
>
> I think the problem is with referencing the JSON file in the URL, but I 
> don't seem to be able to find the correct method of doing this in the book. 
>  If that's not the problem, then I really have no idea where to begin!
>
> If anyone could help at all, I would really appreciate it.
>
> Many thanks
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to