2013-07-29 26 views
7

Używam jqPlot do renderowania wykresów słupkowych i zamierzam zrobić coś dość prostego, ale nie jestem pewien, czy biblioteka ma do tego opcję.jQPlot wymusza statyczne wartości minimalne i maksymalne na osi Y

mam wykresy jak ten, w którym maksymalna możliwa wartość na osi y mogą być 42.

enter image description here

Powiedzmy, jeśli za jednym przypadku moja najwyższa wartość dla każdego z prętów jest 14, wówczas wykres zostanie wygenerowana pokazać tylko do 14.

enter image description here

Jednakże chcę go tak, że we wszystkich przypadkach, widzę, że górny próg 42 renderowane.

To co mam teraz:

var plot3 = $.jqplot('chart3', [line1], { 
      animate: true, 
      animateReplot: true, 
      seriesDefaults: {renderer: $.jqplot.BarRenderer}, 
      series:[{ 
       pointLabels:{ 
        show: true, 
        labels:[depression, anxiety, stress] 
       }, 
       rendererOptions: { 
        animation: { 
        speed: 3500 
        }, 
        barWidth: 50, 
        barPadding: -15, 
        barMargin: 0, 
        varyBarColor : true, 
        highlightMouseOver: false 
       } 
      }], 
      axes: { 
       xaxis: { 
        renderer:$.jqplot.CategoryAxisRenderer 
       } 
      }, 
      canvasOverlay: { 
       show: true, 
       objects: [{ 
        horizontalLine: { 
         y: 42, 
         lineWidth: 3, 
         color: 'rgb(255,0,0)', 
         shadow: true, 
         xOffset: 0 
        } 
       }] 
      } 
      }); 
     plot3.replot({ resetAxes: true }); 

Odpowiedz

21

dodać go do axes:

 axes: { 
      xaxis: {   
       renderer: $.jqplot.CategoryAxisRenderer     
      }, 
      yaxis: { 
       min:0, 
       max:42 
      } 
     }, 

można dodać tickInterval określić interwał między kleszczy na yaxis

proszę dodać te ustawienia do funkcji replot podczas próby resetowania osi:

 plot3.replot({axes: { 
       xaxis: {   
        renderer: $.jqplot.CategoryAxisRenderer      
       }, 
       yaxis: { 
        min:0, 
        max:42 
       } 
      }}); 

LUB

Można powiedzieć

plot3.replot(false); 

więc nie będzie zresetować osi.

+0

to nie działa :( – karancan

+1

to sprawdzić tutaj: [Przykład Jsfiddle] (http://jsfiddle.net/zQnhM/2/) – Gyandeep

+0

skopiowaniu kodu (każdy w ciągu '$ .jqplot ({}) ; '. Nadal nie działa.Jakiej wersji używasz? – karancan