Hey Mark,

It worked ! Thank for your help.

Murtaza

On Saturday, April 28, 2012 5:06:49 AM UTC+5:30, Mark Rathwell wrote:
>
> Try this: 
>
> (defn add-rows [] 
>   (let [data (js/google.visualization.DataTable.)] 
>     (.addColumn data "string" "Topping") 
>     (.addColumn data "number" "slices") 
>     (.addRows data (clj->js [["Mushrooms" 3] ["Onions" 1] ["Olives" 1]])) 
>     data)) 
>
> (defn chart-options [] 
>   (clj->js {:title  "How much Pizza i ate last night" 
>             :width 400 
>             :height 300})) 
>
> (defn get-chart [] 
>   (js/google.visualization.PieChart. (.get ($ "div.container div#content") 
> 0))) 
>
> (defn draw-chart [] 
>   (let [data (add-rows) 
>       options (chart-options) 
>       chart (get-chart)] 
>   (.draw chart data options))) 
>
> (.load js/google "visualization" "1.0" (clj->js {:packages 
> ["corechart"]})) 
>
> (.setOnLoadCallback js/google draw-chart) 
>
>
> On Fri, Apr 27, 2012 at 11:15 AM, Murtaza Husain 
> <murtaza.hus...@sevenolives.com> wrote: 
> > Hi, 
> > 
> > I am trying to use google charts from clojurescript, however cant get it 
> > working. I have included both the js code from google's site and my 
> > clojurescript conversion. Any help in figuring out the problem will be 
> > appreciated. 
> > 
> > Thanks, 
> > Murtaza 
> > 
> > JS Code - 
> > 
> > <script type="text/javascript" src="https://www.google.com/jsapi";></script> 
>
> >     <script type="text/javascript"> 
> > 
> >       // Load the Visualization API and the piechart package. 
> >       google.load('visualization', '1.0', {'packages':['corechart']}); 
> > 
> >       // Set a callback to run when the Google Visualization API is 
> loaded. 
> >       google.setOnLoadCallback(drawChart); 
> > 
> >       // Callback that creates and populates a data table, 
> >       // instantiates the pie chart, passes in the data and 
> >       // draws it. 
> >       function drawChart() { 
> > 
> >         // Create the data table. 
> >         var data = new google.visualization.DataTable(); 
> >         data.addColumn('string', 'Topping'); 
> >         data.addColumn('number', 'Slices'); 
> >         data.addRows([ 
> >           ['Mushrooms', 3], 
> >           ['Onions', 1], 
> >           ['Olives', 1], 
> >           ['Zucchini', 1], 
> >           ['Pepperoni', 2] 
> >         ]); 
> > 
> >         // Set chart options 
> >         var options = {'title':'How Much Pizza I Ate Last Night', 
> >                        'width':400, 
> >                        'height':300}; 
> > 
> >         // Instantiate and draw our chart, passing in some options. 
> >         var chart = new 
> > google.visualization.PieChart(document.getElementById('chart_div')); 
> >         chart.draw(data, options); 
> >       } 
> >     </script> 
> > 
> > 
> > CLJS code - 
> > 
> > ;;clj->js and $ are functions from jayq 
> > 
> > (defn add-rows [] 
> >   (let [data (js/google.visualization.DataTable.)] 
> >     (.addColumn data "string" "Topping") 
> >     (.addColumn data "number" "slices") 
> >     (.addRows data [["Mushrooms" 3] ["Onions" 1] ["Olives" 1]]) 
> >     data)) 
> > 
> > 
> > (defn chart-options [] 
> >   (clj->js {:title  "How much Pizza i ate last night" 
> >             :width 400 
> >             :height 300})) 
> > 
> > (defn get-chart [] 
> >   (js/google.visualization.PieChart. ($ "div.container div#content"))) 
> > 
> > (defn draw-chart [] 
> >   (fn [] 
> >     (let [data (add-rows) 
> >         options (chart-options) 
> >         chart (get-chart)] 
> >     (.draw chart data options)))) 
> > 
> > 
> > (.load js/google "visualization" "1.0" {"packages" ["corechart"]}) 
> > 
> > (.setOnLoadCallback js/google draw-chart) 
> > 
> > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> > Groups "Clojure" group. 
> > To post to this group, send email to clojure@googlegroups.com 
> > Note that posts from new members are moderated - please be patient with 
> your 
> > first post. 
> > To unsubscribe from this group, send email to 
>
> > For more options, visit this group at 
> > http://groups.google.com/group/clojure?hl=en 
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to