클릭하면 PieChart의 선택된 조각의 가치를 얻으려고 애쓰는 데 큰 어려움이 있습니다.Google 차트의 선택된 조각에서 데이터를 가져옵니다. PieChart
설명서를 말한다
selection_array : 선택된 개체의 배열 시각화 (a DataView를 또는 DataTable에)을 생성하는 데 사용되는 기본 테이블에 데이터 요소를 설명하는 각. 각 개체에는 기본 DataTable에 선택된 항목 의 행 및/또는 열의 인덱스가있는 속성 행 및/또는 열이 있습니다. row 속성이 null이면 선택 항목이 열입니다. column 프로퍼티가 null의 경우, 의 선택은 행입니다. 둘 다 null이 아니면 특정 데이터 * 항목입니다. DataTable.getValue() * 메서드를 호출하여 값을 가져올 수 있습니다. 검색된 배열 setSelection() 내 경우에는
내가 대해 getSelection (에서 널 수)로 전달 될 수있다, 그럼 난 내가 원하는 값 (열이에 대응하는 라벨을 얻기 위해 무엇을 알아낼을 couldnt 그 슬라이스).
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
}
좋아 JMAC, 난 지금을 볼 수 있습니다. 하지만 그 "영역"열의 차트를 가져 오려면 내가 보여주고 싶은 데이터가있는 "미니"DataTable을 만들어야하고 이벤트가 발생하면 업데이트해야합니까? 4 가지 범주를 나타내는 4 개의 PieChart를 보여주고 각 차트의 큰 조각의 데이터를 필터링하는 옵션을 제공하기 때문입니다. 예 : 학교 목록이 많습니다. "Area Chart"의 "Urban"슬라이스를 도시 지역에없는 모든 학교의 필터로 1 회 클릭하십시오. 2 - 다음 차트에서 "공개"를 선택하고 공개되지 않은 모든 학교를 필터링하십시오. 등등. – rccursach
사용자가 데이터를 살펴보고 데이터를 구성하는 최선의 방법을 파악할 수있는 방법에 대한 논리를 종합 해 보시기 바랍니다.불행하게도, "날개 달기"는 일종의 쉬운 일이 아니며, 계속 진행하면서 업데이트하고, 필요한 테이블/차트의 수를 미리 파악하여 일반적으로 많은 골칫거리를 줄일 수 있습니다. – jmac