Hey guys,

I have been developing an app where I am using the Google API charts to 
display various forms of information. A functionality i wish to incorporate 
is allowing a user to click on a bar of the ComboChart (x-axis: Name, 
y-axis: numbers) and display a modal with corresponding indexed values of 
the name.

I am feeding the chart with a CSV where column 0 is the Name and column 1 
is the number value. I have a column 2 which contains the information i 
wish to return to the user based on their bar click. 

I have coded as much as to get it working when the user clicks the names on 
the x-axis but will not return anything unless the column is a 0 or 1. It 
returns an error if the getValue() is returning anything that is not a 0 or 
1. I have my CSVreader reading all 3 columns and allows the chart to use 
columns 0 and 1.

Included below is the jQuery from one of my pages.

Any tips and/or help is appreciated, I have been stuck on this all day.
google.charts.load('current', {'packages':['corechart']});
      google.charts.setOnLoadCallback(drawChart);


function drawChart() {
   // grab the CSV
   $.get("barSumtest.csv", function(csvString) {
      
      var arrayData = $.csv.toArrays(csvString, {onParseValue: $.csv.hooks.
castToScalar});

      
      var data = new google.visualization.arrayToDataTable(arrayData);

      
      var totalColumns = 2
      var view = new google.visualization.DataView(data); 
      var columns = [];
      for (var i = 0; i <= totalColumns-1; i++) {
        if (i > 0) {
        columns.push(i);
        columns.push({
            calc: "stringify",
            type: "string",
            role: "annotation"
        });

       } else {
        columns.push(i);
       }
      }    

      view.setColumns(columns);

     // set chart options
     var options = {
        title: "Top 50 Individual Contributors by Contribution Sum",
        hAxis: {title: "Contributor Name", textStyle : {
            fontSize: 7, bold: true,
        }},
        vAxis: {title: "Contribution Sum ($)"},
        seriesType: 'bars',
        series: {3: {type: 'line'}},
        //bar: {groupWidth: 1000}
     };

     // create the chart object and draw it
     var chart = new google.visualization.ComboChart(document.getElementById
('barSum'));
     chart.draw(data, options);
  
  google.visualization.events.addListener(chart, 'click', function(e) {
    var match = e.targetID.match(/hAxis#\d#label#(\d)/);
    if (match != null && match.length) {
        var rowIndex = parseInt(match[1]);
        var label = data.getValue(rowIndex, 2);
        alert('You clicked on ' + label);
    }
});

  });
  
}


-- 
You received this message because you are subscribed to the Google Groups 
"Google Visualization API" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-visualization-api+unsubscr...@googlegroups.com.
To post to this group, send email to google-visualization-api@googlegroups.com.
Visit this group at https://groups.google.com/group/google-visualization-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-visualization-api/d9895cb2-d9c8-41a0-b1a7-08ff54039577%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to