2012-04-03 9 views
7

Ho codice javascript come:Come mostrano i valori sulle regioni del grafico jqplot invece di percentuale

var plot1 = jQuery.jqplot ('chartdiv', [data], 
{ 
    seriesDefaults: { 
     // Make this a pie chart. 
     renderer: jQuery.jqplot.PieRenderer, 
     rendererOptions: { 
      // Put data labels on the pie slices. 
      // By default, labels show the percentage of the slice. 
      showDataLabels: true, 
      dataLabels: 'value' 
     } 
    }, 
    legend: { show:true, location:'e'} 
}); 


var handler = function(ev, gridpos, datapos, neighbor, plot) { 
    if (neighbor) { 
     alert('x:' + neighbor.data[0] + ' y:' + neighbor.data[1]); 
    } 
}; 

$.jqplot.eventListenerHooks.push(['jqplotClick', handler]); 

Ora utilizzando datalabels: 'valore' Sono in grado di mostrare i valori, ma mostrato valore è 51 invece di 50.667.Il valore è arrotondato.Ma devo mostrare il valore esatto.Come fare?

La mia seconda domanda è che quando ho il puntatore del mouse su qualsiasi area del grafico voglio mostrare qualcosa. Questo sarebbe fatto usando jqplotDataMouseOver Ma come usarlo ?? Grazie in anticipo.Plz risponde immediatamente come sua urgenza.

+0

Per favore, dammi qualche idea. – ryan

risposta

10

La tua prima domanda può essere risolto con la proprietà dataLabelFormatString:

seriesDefaults: { 
     // Make this a pie chart. 
     renderer: jQuery.jqplot.PieRenderer, 
     rendererOptions: { 
      // Put data labels on the pie slices. 
      // By default, labels show the percentage of the slice. 
      showDataLabels: true, 
      dataLabels: 'value', 
      dataLabelFormatString:'%.4f' 
     } 
    }, 

Il '%.4f' avrebbe mostrato 4 cifre decimali.

La tua seconda domanda è più difficile. Apparently events on bar charts non sono stati risolti con jqplot. Ma l'ultimo suggerimento in quel collegamento funziona per me:

$('#chartdiv').bind('jqplotDataMouseOver', function (ev, seriesIndex, pointIndex, data) { alert('series: '+seriesIndex+', point: '+pointIndex+', data: '+data)}); 

Ecco un jsfiddle, ricordarsi di memorizzare nella cache i file JS poiché jqplot non consente hotlinking.

Problemi correlati