2012-05-02 21 views
20

Uso gli strumenti di Google Charts, in particolare lo Pie Chart.Visualizza elemento nella legenda anche se valore = 0 con Google Charts Tools Grafico a torta

Naturalmente, se un elemento ha un valore pari a 0, non viene visualizzato nella torta (poiché occupa lo 0% della torta). Tuttavia, non viene nemmeno visualizzato nella legenda.

Come posso manipolare le opzioni di inizializzazione per mostrare ancora una voce di valore 0 nella legenda, in modo che gli utenti possano vedere che l'elemento esiste, ha solo un valore 0?

risposta

48

l'impostazione sliceVisibilityThreshold come zero risolverà il problema.

function drawVisualization() { 
    // Create and populate the data table. 
    var data = google.visualization.arrayToDataTable([ 
    ['Task', 'Hours per Day'], 
    ['Work', 11], 
    ['Eat', 0], 
    ['Commute', 2], 
    ['Watch TV', 2], 
    ['Sleep', 7] 
    ]); 

    // Create and draw the visualization. 
    new google.visualization.PieChart(document.getElementById('visualization')). 
     draw(data, {title:"So, how was your day?", 
       sliceVisibilityThreshold:0 
       }); 
} 
​ 
+2

Esattamente quello che cercavo - proprio non riusciva a capire la descrizione nel API! Grazie! –

+1

setting sliceVisibilityThreshold = 0 è utile se almeno un campo di dati del grafico ha un numero diverso da zero ma le legende non vengono visualizzate se tutti i campi sono zero. Come possiamo mostrare leggende in quel caso? –

+0

Grazie mille ... –

0

Recentemente ho aggiunto i grafici di Google e si è verificato un problema in esso, per l'aggiunta di valore zero in esso.
Grazie per @ocanal, ho utilizzato sliceVisibilityThreshold: 0, ma in qualche altro modo.

<script type="text/javascript"> 
     google.charts.load('current', {'packages':['corechart']}); 
     google.charts.setOnLoadCallback(drawChart); 

     function drawChart() { 

     var data = google.visualization.arrayToDataTable([ 
      ['Task', 'Hours per Day'], 
      ['B-TRIPS',  <?php echo $arr_get_a_org['total_trips']; ?>], 
      ['Reimbursed',  <?php echo $arr_get_a_org['reimbursed_trips']; ?>], 
      ['Approved', <?php echo $arr_get_a_org['approved_trips']; ?>], 
      ['Pending', <?php echo $arr_get_a_org['pending_trips']; ?>] 
     // ['Sleep', <?php echo $arr_get_a_org['total_trips']; ?>] 
     ]); 

     var options = { 
      title: 'OVERVIEW', 
      backgroundColor:'#e2e1e0', 
      pieSliceText:'value', 
      sliceVisibilityThreshold :0 

     }; 

     var chart = new google.visualization.PieChart(document.getElementById('piechart')); 

     chart.draw(data, options); 
     } 
</script> 

Come il modo di definire delle opzioni sono cambiati, per ulteriori informazioni controllare Google Chart site

Problemi correlati