2012-04-03 11 views
7

tengo código javascript como:Cómo mostrar los valores en las regiones de la tabla jqplot en lugar de porcentaje

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]); 

Ahora utilizando dataLabels: 'valor' Soy capaz de mostrar los valores, pero se muestra el valor es 51 en lugar de 50.667. El valor es redondeado. Pero necesito mostrar el valor exacto. ¿Cómo?

Mi segunda pregunta es que cuando tengo el puntero del mouse en cualquier región del gráfico, quiero mostrar algo. ¿Eso se haría usando jqplotDataMouseOver pero cómo usarlo? Gracias de antemano. Pll responde inmediatamente como urgente.

+0

Por favor, dame una idea. – ryan

Respuesta

10

Su primera pregunta se puede resolver con la propiedad 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' 
     } 
    }, 

El '%.4f' mostraría 4 decimales.

Su segunda pregunta es más difícil. Apparently events on bar charts no están completamente resueltos con jqplot. Pero la última sugerencia en ese enlace funciona para mí:

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

Aquí hay una jsfiddle, recuerde que debe almacenar en caché los archivos JS desde jqplot no permite hotlinking.

Cuestiones relacionadas