Holen Sie sich Daten aus der ausgewählten Scheibe des google charts PieChart

habe ich große Schwierigkeiten, die versuchen, um den Wert des ausgewählten Segment des PieChart-wenn Ihr auf Sie geklickt wird.

In der Dokumentation sagt:

selection_array: Ein array der ausgewählten Objekte, von denen jedes über ein
data-element in der zugrunde liegenden Tabelle zum erstellen der Visualisierung
(ein DataView-Objekt oder ein DataTable -). Jedes Objekt hat Eigenschaften, die Zeilen-und/oder
Spalte mit dem index der Zeile und/oder Spalte des ausgewählten Elements
in der zugrunde liegenden Datentabelle. Wenn die row-Eigenschaft ist null, dann wird der
Auswahl einer Spalte; wenn Sie die column-Eigenschaft ist null, dann wird der
Auswahl um eine Zeile; wenn beide ungleich null ist, dann ist es ein Daten -
*Element. Aufrufen können Sie die DataTable.getValue()* Methode, um den Wert der
das ausgewählte Element. Die abgerufenen array übergeben werden können, in
setSelection()

in meinem Fall bekomme ich null von getSelection(), dann konnte ich nicht herausfinden, was zu tun ist, um den Wert den ich will (das label für die entsprechende Spalte, um die Scheibe).

Jede Antwort wird sehr apreciated 🙂

den Beispiel-code, welcher im das tun:

google.load('visualization', '1', {packages: ['controls']});
google.setOnLoadCallback(drawVisualization);

var data;
var pie_area;

function drawVisualization() {
  //Prepare the data
  data = google.visualization.arrayToDataTable([
    ["rbd", "nombre", "area", "dependencia", "simceMat", "ubicacionLon", "ubicacionLat", "simceLen", "nivel"],
    [22616, "Colegio Mozart", "Urbana", "Part_Sub", 228, -72.981148, -41.479872, 254, "Basico"],
    [22686,"Escuela Basica Camelias","Urbana","Muni",228,-72.980075,-41.474599,253, "Medio"],
    [40351,"Colegio Bosquemar","Urbana","Part_Sub",290,-72.981148,-41.479872,280, "Medio"],
    [7633,"Escuela Capitan Arturo Prat Chacon","Urbana","Muni",317,-72.909565,-41.474567,314, "Basico"],
    [7659,"Escuela Rural Alerce","Rural","Muni",230,-72.91767,-41.399121,249, "Basico"],
    [7671,"Escuela Rural Lagunitas","Rural","Muni",261,-72.964282,-41.459485,269, "Medio"],
    [7690,"Escuela Rural Rio Blanco","Rural","Muni",217,-72.638597,-41.455786,229, "Medio"],
    [7700,"Colegio San Francisco Javier","Urbana","Part",305,-72.942089,-41.470351,303, "Basico"],
    [7717,"Instituto Aleman de Puerto Montt","Urbana","Part",321,-72.932482,-41.470001,310, "Medio"],
    [7718,"The American School","Urbana","Part",317,-72.909,-41.456,314, "Medio"]
  ]);

  var fltArea = new google.visualization.ControlWrapper({
    'controlType': 'CategoryFilter',
    'containerId': 'f1',
    'options': {
      'filterColumnLabel': 'area',
      'ui': {
      'labelStacking': 'vertical',
        'allowTyping': false,
        'allowMultiple': false
      }
    }
  });

  pie_area = new google.visualization.ChartWrapper({
      'chartType': 'PieChart',
      'containerId': 'chart2',
      'options': {
        'width': 300,
        'height': 300,
        'legend': 'none',
        'title': 'Area',
        'pieSliceText': 'label'
      },
      'view': {'columns': [2]}
    });

  new google.visualization.Dashboard(document.getElementById('dashboard')).bind([fltArea], [pie_area]).draw(data);
  google.visualization.events.addListener(pie_area, 'select', onAreaSliceSelected);

}

function onAreaSliceSelected(){
  var sel = pie_area.getChart().getSelection(); //is always null
  console.log('you selected '+sel); //displays you selected null
}

InformationsquelleAutor rccursach | 2013-02-06

Schreibe einen Kommentar