You're welcome.

On Sunday, November 18, 2012 2:58:07 PM UTC-5, John Rudolph wrote:
>
> Thank you much. I knew there was an easier way to consolidate the gauges 
> to pull off of 1 table, but I couldn't quite figure it out when I was 
> putting it together. This is a much better way to do it. I would have never 
> figured out the select event handler for the geoChart. I tried for ages, 
> but didn't realize I needed an if statement in there.
>
> -John
>
> On Monday, November 19, 2012 5:38:38 AM UTC+13, asgallant wrote:
>>
>> To make this easier, there is a simpler way to handle your gauges: drive 
>> them all off of one DataTable, but use the "view" option in each gauge to 
>> restrict it to a specific row in the data.  With that change, you only need 
>> one event handler for the dashboard's "ready" event and one for your 
>> GeoChart's "select" event.  Here's a working example: 
>> http://jsfiddle.net/asgallant/psvpp/1/
>>
>> You may want to include a label for the gauges that says whether they are 
>> drawing the average value or the value for a country.  Also, since there is 
>> no indication of whether or not a country is selected in the GeoChart, it 
>> may be useful to clear the selection on the GeoChart after every select 
>> event is thrown (which would also eliminate the necessity of handling 
>> different lengths of the selection array).  Call geoChart.getChart().
>> setSelection(null) to clear the selection.
>>
>> On Sunday, November 18, 2012 5:02:11 AM UTC-5, John Rudolph wrote:
>>>
>>> I really appreciate the help received so far. I have built out a little 
>>> further and have hit another snag that I hope I can get some help with. I 
>>> am trying to set up a select listener for the geoChart, so that when the 
>>> user clicks on a country it selects the country, and updates the gauges. As 
>>> is the gauges update when the user selects from the category filter, but 
>>> I'm hoping that I can get the gauges to also fire when the user selects a 
>>> country. Dashboard is here: http://www.aml360.com/testDashboard.html.
>>>
>>>
>>> On Friday, November 16, 2012 9:29:00 AM UTC+13, asgallant wrote:
>>>>
>>>> You're welcome.
>>>>
>>>> On Thursday, November 15, 2012 3:24:06 PM UTC-5, John Rudolph wrote:
>>>>>
>>>>> Perfect, thank you for the help!
>>>>>
>>>>> -John
>>>>>
>>>>> On Friday, November 16, 2012 7:20:01 AM UTC+13, asgallant wrote:
>>>>>>
>>>>>> First, you call google.load twice and google.setOnLoadCallback twice 
>>>>>> - cut those down to one each.  Second, you need to create the dashboard 
>>>>>> before you set up the "ready" event handler that draws the gauges.  
>>>>>> Third, 
>>>>>> the name of the dashboard variable has to be the same as what it used in 
>>>>>> the event handler (you named the variable "chart" but referenced 
>>>>>> "dashboard" for the event handler).  Here's a working version: 
>>>>>> http://jsfiddle.net/asgallant/psvpp/
>>>>>>
>>>>>> On Thursday, November 15, 2012 3:21:09 AM UTC-5, John Rudolph wrote:
>>>>>>>
>>>>>>> Thanks for the quick response. The problem is that the 2 gauges are 
>>>>>>> not showing up, although the geoMap and filters seem to work. Here is 
>>>>>>> the 
>>>>>>> dashboard with code for the gauges included: 
>>>>>>> http://www.aml360.com/testDashboard.html. The gauges are supposed 
>>>>>>> to show up in the gray column on the left, stacked on top of each 
>>>>>>> other. 
>>>>>>> Ideally the gauges will show averages for entire dataset, and then 
>>>>>>> update 
>>>>>>> when either a filter is applied, or a region on the geoMap is clicked.
>>>>>>>
>>>>>>> Again, greatly appreciate all the help!
>>>>>>>
>>>>>>> -John
>>>>>>>
>>>>>>> On Thursday, November 15, 2012 5:30:00 PM UTC+13, asgallant wrote:
>>>>>>>>
>>>>>>>> What is the problem you are seeing?  Skimming that code, it looks 
>>>>>>>> like you should get two gauges with values equal to the average of 
>>>>>>>> column 0 
>>>>>>>> and column 2.  The only oddity that I see off the bat is the column 2 
>>>>>>>> average is getting labeled with the column 1 label.
>>>>>>>>
>>>>>>>> On Wednesday, November 14, 2012 9:37:25 PM UTC-5, John Rudolph 
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> Still pretty new to visualizations. I have created this geochart 
>>>>>>>>> with a couple of category filters: 
>>>>>>>>> http://www.aml360.com/testDashboard.html. I am trying to add a 
>>>>>>>>> couple of gauges based on columns 0 and 2 in the imbedded table. 
>>>>>>>>> Tried to 
>>>>>>>>> do the best I could by looking at some prior forum posts, but still 
>>>>>>>>> don't 
>>>>>>>>> quite have the savy to make it work for my data. Below is as far as I 
>>>>>>>>> made 
>>>>>>>>> it with the gauges. Where did I slip up? Thanks in advance for the 
>>>>>>>>> help. 
>>>>>>>>> I'm always blown away by the great responses on this forum.
>>>>>>>>>  
>>>>>>>>>     // set up a dataTable for the gauges
>>>>>>>>>     var gaugeData = new google.visualization.DataTable();
>>>>>>>>>     gaugeData.addColumn('string', 'Series');
>>>>>>>>>     gaugeData.addColumn('number', 'Average');
>>>>>>>>>     
>>>>>>>>>     gauges = new google.visualization.ChartWrapper({
>>>>>>>>>         chartType: 'Gauge',
>>>>>>>>>         dataTable: gaugeData,
>>>>>>>>>         containerId: 'gauges',
>>>>>>>>>         options: {
>>>>>>>>>             redFrom: 100,
>>>>>>>>>             redTo: 150,
>>>>>>>>>             yellowFrom: 50,
>>>>>>>>>             yellowTo: 100,
>>>>>>>>>             minorTicks: 25
>>>>>>>>>         }
>>>>>>>>>     });
>>>>>>>>>     
>>>>>>>>>     google.visualization.events.addListener(gauges, 'ready', 
>>>>>>>>> onReady);
>>>>>>>>>     
>>>>>>>>>     function onReady() {
>>>>>>>>>     }
>>>>>>>>>     
>>>>>>>>>     // set up event listener to draw the gauge when the dashboard 
>>>>>>>>> is done
>>>>>>>>>     google.visualization.events.addListener(dashboard, 'ready', 
>>>>>>>>> function (e) {
>>>>>>>>>         var view = geoChart.getDataTable();
>>>>>>>>>         var group = google.visualization.data.group(view, [{
>>>>>>>>>             column: 1,
>>>>>>>>>             type: 'string',
>>>>>>>>>             modifier: function () {
>>>>>>>>>                 // make them all the same for grouping
>>>>>>>>>                 return 0;
>>>>>>>>>             }
>>>>>>>>>         }], [{
>>>>>>>>>             column: 0,
>>>>>>>>>             type: 'number',
>>>>>>>>>             label: view.getColumnLabel(0),
>>>>>>>>>             aggregation: google.visualization.data.avg
>>>>>>>>>         }, {
>>>>>>>>>             column: 2,
>>>>>>>>>             type: 'number',
>>>>>>>>>             label: view.getColumnLabel(1),
>>>>>>>>>             aggregation: google.visualization.data.avg
>>>>>>>>>         }]);
>>>>>>>>>         
>>>>>>>>>         // clear the gaugeData table
>>>>>>>>>         if (gaugeData.getNumberOfRows() > 0) {
>>>>>>>>>             gaugeData.removeRows(0, gaugeData.getNumberOfRows());
>>>>>>>>>         }
>>>>>>>>>         // populate the gaugeData table
>>>>>>>>>         for (var i = 1; i < group.getNumberOfColumns(); i++) {
>>>>>>>>>             gaugeData.addRow([group.getColumnLabel(i), 
>>>>>>>>> group.getValue(0, i)]);
>>>>>>>>>         }
>>>>>>>>>         gauges.draw();
>>>>>>>>>     });
>>>>>>>>>
>>>>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Visualization API" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-visualization-api/-/gqd2elzJznEJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-visualization-api?hl=en.

Reply via email to