2012-02-13 19 views
6

Tengo datos con valores X de 0 a 55. Me gustaría ver estos valores como texto personalizado en etiquetas de marca. Idealmente, quiero especificar alguna devolución de llamada, comojqPlot etiquetas de marcación personalizadas

function tickLabel(tickValue) { 
    return "This is " + tickValue; 
} 

¿Es posible?

Respuesta

17

he encontrado una solución.

xaxis: { 
    tickRenderer: $.jqplot.AxisTickRenderer, 
    tickOptions: { 
    formatter: function(format, value) { return "This is " + value; } 
    } 
} 
+1

Parece la mejor respuesta de propósito general, pero he encontrado dos casos de esquina que debe conocer: (1) puede que no funcione con DateAxisRenderer; (2) si necesita generar una etiqueta específica para el contexto de una gráfica en una página de múltiples diagramas, un formateador no tendrá este contexto. En cualquiera de estos casos no estándar, recomendaría el parche de monos jQuery.jqplot.DateTickFormatter o jQuery.jqplot.CanvasAxisTickRenderer.prototype.draw (ya sea por reemplazo o por medio de envolver las llamadas), dependiendo de lo que necesite. – sdupton

2

usar algo como:

var line1 = [['This is '.$value, $value], ...] 

y llame a su trama como:

var plot1 = $.jqplot('chart1', [line1], { 
    title: 'Title of your plot', 
    series:[{renderer:$.jqplot.BarRenderer}], 
    axesDefaults: { 
     tickRenderer: $.jqplot.CanvasAxisTickRenderer , 
     tickOptions: { 
      angle: -30, 
      fontSize: '10pt' 
     } 
    }, 
    axes: { 
     xaxis: { 
     renderer: $.jqplot.CategoryAxisRenderer 
     } 
    } 
    }); 
Cuestiones relacionadas