What about using a 
ChartRangeFilter<https://google-developers.appspot.com/chart/interactive/docs/gallery/controls#chartrangefilter>to
 handle this for you?

On Saturday, April 21, 2012 2:32:08 PM UTC-4, A. Farber wrote:
>
> Hello fellow chart users, 
>
> I have prepared a simple test case, demonstrating my problem and am 
> probably missing a tiny bit, just few lines of code. 
>
> I have a diagram representing wins and losses in a web game over the 
> weeks. 
>
> I.e. the vertical axis represents the game score and the horizontal 
> axis represents numbers of weeks. 
>
> My ajax script returns the data for 52 weeks, but I'd like to add a 
> slider and allow users change the viewed number of weeks to any number 
> between 12 and 52. 
>
> Can anybody please advise me, how to modify the change function? 
>
> $("#money_slider").slider({ 
>     min: 12, 
>     max: 52, 
>     change: function(event, ui) { 
>         // XXX what to do here with 
>         // hAxis.viewWindow.min and .max? 
>     } 
> }); 
>
> Below is my complete test case, just save it to an .html file and you 
> will be able to try it in a browser: 
>
> <!DOCTYPE HTML> 
> <html> 
> <style type="text/css"> 
>     h3,p,div { 
>         text-align: center; 
>     } 
>
>     #slider { 
>         width: 700px; 
>         margin-left: auto; 
>         margin-right: auto; 
>     } 
> </style> 
> <style type="text/css" title="currentStyle"> 
>         @import "https://ajax.googleapis.com/ajax/libs/jqueryui/1/ 
> themes/redmond/jquery-ui.css<https://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/jquery-ui.css>";
>  
>
> </style> 
> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/ 
> libs/jquery/1/jquery.min.js<https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js>"></script>
>  
>
> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/ 
> libs/jqueryui/1/jquery-ui.min.js<https://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js>"></script>
>  
>
> <script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/ 
> jquery.dataTables/1.9.0/jquery.dataTables.min.js"></script> 
> <script type="text/javascript" src="https://www.google.com/jsapi? 
> autoload={'modules':[{'name':'visualization','version':'1','packages': 
> ['corechart'],'language':'ru'}]}"></script> 
> <script type="text/javascript"> 
>
> google.setOnLoadCallback(drawChart); 
>
> $(function() { 
>     $('#slider').slider({ 
>         disabled: true, 
>         range: 'min', 
>         min: 12, 
>         max: 52, 
>         change: function(event, ui) { 
>             // XXX what to do here with 
>             // hAxis.viewWindow.min and .max? 
>         } 
>     }); 
> }); 
>
> function drawChart() { 
>         var jsonData = '{"cols":[{"label":"Week 
> number","type":"string"},{"label":"Week leader","type":"number"}, 
> {"label":"Your win","type":"number"},{"label":"Your 
> loss","type":"number"}],"rows":[{"c":[{"v":"2011-33"},{"v":10671},{"v": 
> 0},{"v":-3113}]},{"c":[{"v":"2011-34"},{"v":7975},{"v":0}, 
> {"v":-2113}]},{"c":[{"v":"2011-35"},{"v":11009},{"v":0},{"v":-2244}]}, 
> {"c":[{"v":"2011-36"},{"v":10679},{"v":0},{"v":-689}]},{"c": 
> [{"v":"2011-37"},{"v":11197},{"v":305},{"v":0}]},{"c":[{"v":"2011-38"}, 
> {"v":6762},{"v":419},{"v":0}]},{"c":[{"v":"2011-39"},{"v":7823},{"v": 
> 0},{"v":-1563}]},{"c":[{"v":"2011-40"},{"v":10171},{"v":1152},{"v": 
> 0}]},{"c":[{"v":"2011-41"},{"v":9903},{"v":0},{"v":-1008}]},{"c": 
> [{"v":"2011-42"},{"v":5940},{"v":0},{"v":-1332}]},{"c": 
> [{"v":"2011-43"},{"v":7979},{"v":0},{"v":-593}]},{"c":[{"v":"2011-44"}, 
> {"v":7833},{"v":0},{"v":-653}]},{"c":[{"v":"2011-45"},{"v":9691},{"v": 
> 0},{"v":-562}]},{"c":[{"v":"2011-46"},{"v":8836},{"v":0},{"v":-1686}]}, 
> {"c":[{"v":"2011-47"},{"v":10358},{"v":0},{"v":-2120}]},{"c": 
> [{"v":"2011-48"},{"v":9956},{"v":0},{"v":-1353}]},{"c": 
> [{"v":"2011-49"},{"v":8787},{"v":160},{"v":0}]},{"c":[{"v":"2011-50"}, 
> {"v":9590},{"v":0},{"v":0}]},{"c":[{"v":"2011-51"},{"v":8931},{"v": 
> 887},{"v":0}]},{"c":[{"v":"2011-52"},{"v":8529},{"v":0},{"v":-1434}]}, 
> {"c":[{"v":"2012-01"},{"v":8680},{"v":0},{"v":-1416}]},{"c": 
> [{"v":"2012-02"},{"v":9932},{"v":0},{"v":-169}]},{"c":[{"v":"2012-03"}, 
> {"v":8334},{"v":0},{"v":-3149}]},{"c":[{"v":"2012-04"},{"v":8077},{"v": 
> 217},{"v":0}]},{"c":[{"v":"2012-05"},{"v":7788},{"v":0},{"v":-3683}]}, 
> {"c":[{"v":"2012-06"},{"v":10070},{"v":113},{"v":0}]},{"c": 
> [{"v":"2012-07"},{"v":8318},{"v":1704},{"v":0}]},{"c":[{"v":"2012-08"}, 
> {"v":8208},{"v":0},{"v":-104}]},{"c":[{"v":"2012-09"},{"v":11561},{"v": 
> 272},{"v":0}]},{"c":[{"v":"2012-10"},{"v":7797},{"v":0},{"v":0}]},{"c": 
> [{"v":"2012-11"},{"v":9893},{"v":0},{"v":-90}]},{"c":[{"v":"2012-12"}, 
> {"v":9197},{"v":0},{"v":-191}]},{"c":[{"v":"2012-13"},{"v":7287},{"v": 
> 651},{"v":0}]},{"c":[{"v":"2012-14"},{"v":7072},{"v":646},{"v":0}]}, 
> {"c":[{"v":"2012-15"},{"v":7183},{"v":0},{"v":-907}]},{"c": 
> [{"v":"2012-16"},{"v":6021},{"v":0},{"v":-993}]}]}'; 
>
>         var data = new google.visualization.DataTable(jsonData); 
>         var options = { 
>           width: 700, 
>           height: 500, 
>           legend: {position: 'top'}, 
>           areaOpacity: 1.0, 
>           vAxis: {format: '$#'}, 
>           hAxis: {title: 'Week number', titleTextStyle: {color: 
> 'blue'}, slantedText: true}, 
>           colors: ['CCFFCC', '66CC66', 'FF9999'], 
>           animation: {duration: 1000, easing: 'out'} 
>         }; 
>
>         var chart = new 
> google.visualization.SteppedAreaChart(document.getElementById('money')); 
>         google.visualization.events.addListener(chart, 'ready', 
> function() { 
>             $('#slider').slider('enable'); 
>         }); 
>         chart.draw(data, options); 
> } 
> </script> 
> </head> 
>
> <body> 
> <h3>Money</h3> 
> <div id="money"></div> 
> <div id="slider"></div> 
> </body> 
> </html> 
>
> If you'd like to see a screenshot, it is here: 
>
> http://stackoverflow.com/questions/10261302/using-jquery-slider-to-change-google-chart-viewwindow
>  
>
> I've read the Google example at 
> https://google-developers.appspot.com/chart/interactive/docs/animation 
> but don't understand it yet. 
>
> Thank you for any hints 
> Alex 
>

-- 
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/-/pefWisp-aZkJ.
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