2013-07-29 4 views
7

Ich verwende jqPlot, um Balkendiagramme zu rendern und bin auf der Suche nach etwas ziemlich unkompliziert, aber ich bin mir nicht sicher, ob die Bibliothek eine Option dafür hat.jQPlot force statische minimale und maximale Werte auf der y-Achse

Ich habe grafische Darstellungen wie diese, in denen der maximal mögliche Wert auf der y-Achse 42 sein kann

enter image description here

Lassen Sie uns sagen, wenn für einen Fall, meine höchsten Wert für eine der Bars 14, dann wird die Grafik gerendert bis zu zeigen, nur 14.

enter image description here

aber ich will es so, dass in jedem Fall, ich gemacht sehen, dass die obere Schwelle von 42.

Das ist, was ich habe jetzt:

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

Antwort

21

diese in Ihre axes:

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

Sie tickInterval hinzufügen können das Intervall zwischen den Ticks auf yaxis

Bitte fügen Sie angeben diese Einstellung auf Ihre replot Funktion, wie Sie die Achse zurücksetzen möchten:

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

ODER

können Sie sagen,

plot3.replot(false); 

so wird es nicht Ihre Achsen zurückgesetzt.

+0

dies nicht funktioniert :( – karancan

+1

es hier: [Jsfiddle Beispiel] (http://jsfiddle.net/zQnhM/2/) – Gyandeep

+0

kopiert Code (alle innerhalb '$ .jqplot ({}) ; '. Noch funktioniert nicht. Welche Version verwenden Sie? – karancan

Verwandte Themen