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