2013-10-24 72 views
2

顯然Google可視化餅圖不喜歡很小的值。我創建了一個JSfiddle來演示這個問題:http://jsfiddle.net/technotarek/YRKHd/谷歌可視化問題在餅圖中的值很小

當您加載小提琴時,您會看到餅圖有四個類別,正如您在第6-13行中檢查JS所期望的那樣。現在,嘗試將JS的第13行中的第三個值從5更改爲1,然後運行小提琴。您會看到它將餅圖上的標籤更改爲新的「其他」標籤。任何人都可以找出解決辦法嗎? (在我的情況下,這是特別有問題的,因爲我們在某些情況下使用標籤'other'來表示數據中完全不同的組。)

爲了滿足SO驗證器,這裏是我的小提琴的JS代碼:

function drawChart(){ var data = new google.visualization.DataTable(); data.addColumn('string','Race'); data.addColumn('number','Percent'); data.addRows(4); data.setValue(0,0,'Black,non-Hispanic'); data.setValue data.setValue(0,1,1370); data.setValue(1,0,'Hispanic'); data.setValue(1,1,40); data.setValue(2,0,'White,non-Hispanic'); data.setValue data.setValue(2,1,537); data.setValue(3,0,'Suppressed Categories'); data.setValue(3,1,5);

var chart = new google.visualization.PieChart(document.getElementById('chart')); 
chart.draw(data, { 
        width: 650, 
        height: 500, 
        fontSize: 11, 
        chartArea:{ 
          top:20, 
          left:100 
          }, 
        colors: 
         [ 
         '8d2300','FE9929','D95F0E','000000',       ] 
}); 
}  

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

回答

6

「其他」類別中創建來保存低於sliceVisibilityThreshold選項的值的比例總所有片(默認爲1/720)。當「抑制類別」值爲1時,它是餅圖的1/1948(遠低於閾值),因此被歸入「其他」類別。您可以手動設置sliceVisibilityThreshold選擇任何你想要的值(0強制所有片繪製,無論其相對大小):

chart.draw(data, { 
    width: 650, 
    height: 500, 
    fontSize: 11, 
    chartArea:{ 
     top:20, 
     left:100 
    }, 
    colors:['8d2300','FE9929','D95F0E','000000'], 
    sliceVisibilityThreshold: 0 
}); 

的jsfiddle鏈接:http://jsfiddle.net/asgallant/YRKHd/10/