Is "control" in scope in the onControlStateChange function?  If not, try it 
this way:

google.visualization.events.addListener(control, 'statechange', function () 
{
    var controlState = control.getState();
    var view = new google.visualization.DataView(data);
    view.setRows(data.getFilteredRows([{
        column: 0, 
        // chartRangeFilters' state has a range property object with start 
and end properties 
        minValue: controlState.range.start,
        maxValue: controlState.range.end
    }]));
    var grouped = google.visualization.data.group(view, [0], [{
        column: 0,
        aggregation: google.visualization.data.count,
        type: 'number'
    }]);
    chart2.draw(grouped);
});​ 

On Tuesday, April 24, 2012 12:32:03 AM UTC-4, Matt N wrote:
>
> Hi! I am new to the whole Google Visualization API. I have some log 
> data, where each row represents a logged even associated with a 
> timestamp. I would like to draw a simple instances vs time line graph, 
> i.e. how many events happened on this date, etc. I have my data 
> retrieved and stored in a standard dataTable. 
>
> I know that I can do something like the following to get the aggregate 
> data (i'm only interested in the event count per time unit) : 
>
>                                  var grouped = 
> google.visualization.data.group( 
>                                                                               
>    
>  data, 
>                                                                               
>    
>  [0], 
>                                                                               
>    
>  [{'column': 0, 'aggregation': 
> google.visualization.data.count, 'type': 'number'}] 
>                                                                               
>   ); 
>
> However, what if I now want to be able to control the data suing a 
> dashboard? For instance, the ChartRangeFilter allows me to limit the 
> dates that I am looking at. However, there are times when I want the 
> granularity to be "hours" instead of "days". This means that my graph 
> will have 24 entries with instances of events happening at that time. 
> The ChartRangeFilter should still filter based on the overall data the 
> events happened. 
>
> The problem is that the control and the chart have to be working on 
> the same data. I simply can't make a DataView that does an aggregate 
> (group by + count) to draw the chart, while still controlling based on 
> the unaggregated data. I've tried disconnecting the control from the 
> graph, without luck, by listening to movements of the control. 
>
>          
> google.visualization.events.addListener( 
> control,'statechange',onControlStateChange ); 
>
>                 function onControlStateChange() { 
>                                var controlState = control.getState(); 
>                                console.log(controlState.lowValue); 
>                                var view = new 
> google.visualization.DataView(data); 
>                                view.setRows(data.getFilteredRows([{column: 
> 0, minValue: 
> controlState.lowValue, maxValue: controlState.highValue}])); 
>                                var grouped = 
> google.visualization.data.group( 
>                                                                               
>    
>  view, 
>                                                                               
>    
>  [0], 
>                                                                               
>    
>  [{'column': 0, 'aggregation': 
> google.visualization.data.count, 'type': 'number'}] 
>                                                                               
>   ); 
>
>
>                                chart2.draw(grouped); 
>                            } 
>
>
> The controlState always seems to be undefined though :(. Any tips on 
> what I can do?

-- 
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/-/Ymj1z2W6w-8J.
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