2012-10-22 9 views
5

I dati di plottaggio con jqPlot utilizzando logAxisRenderer per disporre di due assi logaritmici.Modificare la scala dell'asse con LogAxisRenderer

tutto bene tranne due problemi:

  1. jqPlot crea un sacco di spazio vuoto tra 0 e 1.

  2. Ci sono due zeri sulla asse x, dal momento che il formatto numeri su "%" i "(uno per 0.0 e uno per 0.5).

Ho provato a utilizzare min: 1 e max: 100000 per nascondere lo spazio vuoto e gli zeri. Ma questo non ha funzionato. Il grafico risultante non ha linea e tutte le etichette dell'asse x si trovano sullo stesso punto sul lato sinistro dell'asse.

Ecco il codice che uso per creare questa trama:

$.jqplot(divId, [ line ], { 
    title : title, 
    series:[{showMarker:false}], 
    axes : { 
     xaxis : { 
      label:'Users', 
      renderer : $.jqplot.LogAxisRenderer, 
      tickOptions:{ 
       tickDistribution: "power", 
       formatString: "%'i" 
      }, 
      labelRenderer: $.jqplot.CanvasAxisLabelRenderer, 
     }, 
     yaxis : { 
      label:'Frequency', 
      renderer : $.jqplot.LogAxisRenderer, 
      tickOptions:{ 
       tickDistribution:"power", 
       formatString: "%'i" 
      }, 
      labelRenderer: $.jqplot.CanvasAxisLabelRenderer, 
     }, 
    }, 
}); 

risposta

2

È possibile usare la forza zecche per risolvere questo problema:

$.jqplot(divId, [ line ], { 
    title : title, 
    series:[{showMarker:false}], 
    axes : { 
     xaxis : { 
      label:'Users', 
      renderer : $.jqplot.LogAxisRenderer, 
      ticks: [1, 10, 100, 1000, 10000], 
      tickOptions:{ 
       tickDistribution: "power", 
       formatString: "%'i" 
      }, 
      labelRenderer: $.jqplot.CanvasAxisLabelRenderer, 
     }, 
     // ... 
    }, 
}); 

Questo in realtà non risolve il problema in modo generale , ma aiuta. Per me (jqPlot 1.0.4r1121) l'impostazione "min: 1" ha come risultato il comportamento che hai descritto. Le impostazioni "min: 1" e "max: 10000" funzionano per me, ma non impostano ticks distribuiti ma distanziati.

Problemi correlati