2013-03-15 3 views
0

je le code suivant pour tracer une donnée d'un JSON/ajax demandepad jqplot ne fonctionne pas

function plotit(data){ 
     $.jqplot.config.enablePlugins = true; 
     $("#jqplot-chart1").empty(); 
      plot1 = $.jqplot('jqplot-chart1', data,{ 
       axesDefaults: { pad: 1.2}, 
       title: 'data', 
       animate: true, 
       animateReplot: true, 
       axes: { 
        xaxis: { 
          label: "---", 
          tickOptions: {formatString: '%d-%m-%Y'}, // ex 02-09-2002,23:09:55 - %d 
          renderer: $.jqplot.DateAxisRenderer 
         }, 
         yaxis: { 
          label: "Y " 
         } 
       }, 
       cursor:{ 
        zoom: true, 
        showTooltip : true, 
        constrainZoomTo : 'x', 
        showVerticalLine : true 
       } 
      } 
    ); 
    } 

ceci est un exemple des données de réponse JSON:

[[["2013-03-02 00:00:00","2"],["2013-03-01 00:00:00","72"],["2013-02-28 00:00:00","26"],["2013-02-27 00:00:00","67"],["2013-02-26 00:00:00","48"],["2013-02-25 00:00:00","50"]]] 

mais quand je intrigue Le premier est que le remplissage entre le haut de l'intrigue et la valeur maximale est énorme, et je veux ajuster la hauteur de l'intrigue de manière dynamique (flèche rouge dans l'image) La seconde est que la dernière valeur à droite est attachée au bord er de l'intrigue (flèche bleue dans l'image) ! [Résultat du sondage] [1]

Quelqu'un peut-il m'aider?

ceci est l'image qui explique le problème:

http://img7.imageshack.us/img7/963/sanstitrebtt.png

Répondre

2

Vous pouvez obtenir votre valeur dataBounds après avoir rendu à l'aide:

var minY = plot2.axes.yaxis._dataBounds.min; 
var maxY = plot2.axes.yaxis._dataBounds.max; 

(Vous pouvez obtenir minX et maxX De même en utilisant xaxis.

Ensuite, vous pouvez demander à jqplot d'utiliser ces limites pour tracer la plage exacte en utilisant:

plot2.axes.yaxis.min = minY; 
plot2.axes.yaxis.max = maxY; 

(Agir à nouveau de manière similaire pour xaxis);

Enfin, Replot votre graphique: plot2.replot();

Votre dernier graphique a des limites en fonction de vos valeurs de données.

PS: Vous pouvez travailler sur numberTicks et en utilisant plot2.yaxis._numberTicks ou plot2.yaxis.numberTicks (pas sûr que l'on est efficace)

Voir poste similaire here

Questions connexes