You can do so fairly easily by doing two things:
1) move the definition of the "setScatterSelection" function outside the
"ready" event handler for the scatter chart (stick it at the end of [but
still inside] the query.send callback function), and
2) replace the scatter.draw(baseView...); call with
setScatterSelection('Bear Branch');
On Monday, June 25, 2012 6:22:08 PM UTC-4, es wrote:
>
> Actually, I just realized that it won't work because a map point HAS to be
> selected in order for the name to appear in the scatter. My pie chart
> defaults to display data for "Bear Branch", so if there is a way to default
> the scatter chart to display "Bear Branch" data, that would be great. If
> not, I'm happy that I at least am able to have the name change! Here is a
> live link which displays the Pie Chart showing Bear Branch as the default:
> http://www.esenvironmental.com/projects_multiagency_cl_googlemap_scatterwork.htm
> This is the snippet of code which sets the pie chart to default to the
> "Bear Branch" site:
> var layer = new google.maps.FusionTablesLayer();
> updateLayerQuery(layer);
> layer.setMap(map);
> drawVisualization('Bear Branch');
>
>
>
> On Monday, June 25, 2012 3:05:42 PM UTC-7, es wrote:
>
>> Yes, thank you, that is what I am looking for. Your code worked in the
>> "scatter.draw(view, {" of the code (after a user clicks a point, the title
>> comes up), but when I put the code in the "scatter.draw(baseView, {"
>> section, the scatter disappears. This is how I placed it:
>>
>> scatter.draw(view, {
>> width: 350,
>> height: 300,
>> titleX: 'ANC (ueq/L)',
>> title: 'Site',
>> titleY: 'CL for ANC=50 (meq/m2/yr)',
>>
>> series: [{
>> pointSize: 5
>> }, {
>> visibleInLegend: false,
>> pointSize: 10,
>> color: 'red'
>> }],
>> legend: {position: 'top', textStyle: {color: 'blue', fontSize: 12}},
>> title: 'Scatter Chart for ' + site
>> });
>> };
>> });
>>
>> scatter.draw(baseView, {
>> width: 350,
>> height: 300,
>> titleX: 'ANC (ueq/L)',
>> title: 'Site',
>> titleY: 'CL for ANC=50 (meq/m2/yr)',
>>
>> series: [{pointSize: 5}],
>> legend: {position: 'top', textStyle: {color: 'blue', fontSize: 12}},
>> title: 'Scatter Chart for ' + site
>> });
>> });
>> }
>>
>> On Monday, June 25, 2012 2:37:50 PM UTC-7, asgallant wrote:
>>
>>> If I read what you want correctly, what you need to do is use the "site"
>>> variable when the chart is redrawn in the "setScatterSelection" function:
>>>
>>> scatter.draw(view, {
>>> width: 350,
>>> height: 300,
>>> titleX: 'ANC (ueq/L)',
>>> title: 'Site',
>>> titleY: 'CL for ANC=50 (meq/m2/yr)',
>>> series: [{
>>> pointSize: 5
>>> }, {
>>> visibleInLegend: false,
>>> pointSize: 10,
>>> color: 'red'
>>> }],
>>> legend: {
>>> position: 'top',
>>> textStyle: {
>>> color: 'blue',
>>> fontSize: 12
>>> }
>>> },
>>> title: 'Scatter Chart for ' + site
>>> });
>>>
>>> On Monday, June 25, 2012 5:15:33 PM UTC-4, es wrote:
>>>>
>>>> Hi,
>>>>
>>>> I'm referencing a google fusions table as the datasource for my scatter
>>>> plot. It functions with google maps in that when a point on the map is
>>>> clicked, the data point chages color to indicate what site is clicked. I
>>>> would like to know if I can reference a column heading in my google fusion
>>>> table (column heading is "site") so that the title of the scatter plot
>>>> chages when the user clicks the map. I have a pie chart which will
>>>> dynamically change the title name based on user-clicked map points, but am
>>>> having problems applying the same method to the scatter plot. Any help
>>>> would be appreciated.
>>>>
>>>> Here is the code for the map and scatter plot:
>>>>
>>>> google.load('visualization', '1', {packages: ['corechart']});
>>>> google.load('maps', '3.9', {other_params: "sensor=false"});
>>>> google.setOnLoadCallback(initialize);
>>>> function initialize() {
>>>> var myOptions = {
>>>> center: new google.maps.LatLng(38.099983, -80.683594),
>>>> zoom: 7,
>>>> mapTypeControl: true,
>>>> mapTypeControlOptions: {
>>>> style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
>>>> position: google.maps.ControlPosition.TOP_RIGHT
>>>> },
>>>> zoomControlOptions: {
>>>> style: google.maps.ZoomControlStyle.LARGE
>>>> },
>>>> streetViewControl: true,
>>>> streetViewControlOptions: {
>>>> position: google.maps.ControlPosition.LEFT_TOP
>>>> },
>>>> mapTypeId: google.maps.MapTypeId.TERRAIN
>>>> };
>>>> var map = new
>>>> google.maps.Map(document.getElementById('map_canvas'), myOptions);
>>>> var layer = new google.maps.FusionTablesLayer();
>>>> updateLayerQuery(layer);
>>>> layer.setMap(map);
>>>> drawVisualization('Bear Branch');
>>>>
>>>> var query = new google.visualization.Query('
>>>> http://www.google.com/fusiontables/gvizdata?tq=');
>>>> query.setQuery('SELECT Site, CALK, MAGIC_CL50 FROM 3235688');
>>>> query.send(function (response) {
>>>> var data = response.getDataTable();
>>>> var baseView = new google.visualization.DataView(data);
>>>> baseView.setColumns([1, 2]);
>>>> var scatter = new
>>>> google.visualization.ScatterChart(document.getElementById('scatter'));
>>>>
>>>> google.visualization.events.addListener(scatter, 'ready',
>>>> function () {
>>>> google.maps.event.addListener(layer, 'click', function(e) {
>>>> var Site = e.row['Site'].value;
>>>> setScatterSelection(Site);
>>>> drawVisualization(Site);
>>>> });
>>>>
>>>>
>>>> google.maps.event.addDomListener(document.getElementById('Site'),
>>>> 'change',
>>>> function() {
>>>> var Site = this.value;
>>>> updateLayerQuery(layer, Site);
>>>> setScatterSelection(Site);
>>>> drawVisualization(Site);
>>>> });
>>>>
>>>> function setScatterSelection (site) {
>>>> var row = data.getFilteredRows([{column: 0, value:
>>>> site}])[0];
>>>> var view = new google.visualization.DataView(baseView);
>>>> view.setColumns([0, 1, {
>>>> type: 'number',
>>>> label: baseView.getColumnLabel(1),
>>>> calc: function (dt, index) {
>>>> if (row == index) {
>>>> return dt.getValue(index, 1);
>>>> }
>>>> else {
>>>> return null;
>>>> }
>>>> }
>>>> }]);
>>>> var ready =
>>>> google.visualization.events.addListener(scatter, 'ready', function () {
>>>> scatter.setSelection([{row: row, column: 2}]);
>>>> google.visualization.events.removeListener(ready);
>>>> });
>>>> scatter.draw(view, {
>>>> width: 350,
>>>> height: 300,
>>>> titleX: 'ANC (ueq/L)', title: 'Site', titleY: 'CL for ANC=50
>>>> (meq/m2/yr)',
>>>>
>>>> series: [{
>>>> pointSize: 5
>>>> }, {
>>>> visibleInLegend: false,
>>>> pointSize: 10,
>>>> color: 'red'
>>>> }],
>>>> legend: {position: 'top', textStyle: {color: 'blue', fontSize: 12}}
>>>> });
>>>> };
>>>> });
>>>>
>>>> scatter.draw(baseView, {
>>>> width: 350,
>>>> height: 300,
>>>> titleX: 'ANC (ueq/L)', title: 'Site', titleY: 'CL for ANC=50
>>>> (meq/m2/yr)',
>>>> series: [{pointSize: 5}],
>>>> legend: {position: 'top', textStyle: {color: 'blue', fontSize: 12}}
>>>> });
>>>> });
>>>> }
>>>> function updateLayerQuery(layer) {
>>>> layer.setOptions({
>>>> query: {
>>>> select: 'Site',
>>>> from: '3235688'
>>>> }
>>>> });
>>>> }
>>>>
>>>>
>>>
--
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/-/n6C8cz-b-94J.
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.