2013-07-29 44 views
7

Tôi đang sử dụng jqPlot để hiển thị biểu đồ thanh và đang tìm cách làm điều gì đó khá đơn giản nhưng tôi không chắc chắn thư viện có tùy chọn này hay không.jQPlot buộc các giá trị tối thiểu và tối đa tĩnh trên trục y

tôi có đồ thị như thế này, trong đó giá trị tối đa có thể trên trục y có thể 42.

enter image description here

Hãy nói rằng nếu vì một trường hợp, giá trị cao nhất của tôi cho bất kỳ thanh là 14, sau đó đồ thị sẽ được trả lại để chỉ hiển thị lên đến 14.

enter image description here

Tuy nhiên, tôi muốn nó để trong mọi trường hợp, tôi có thể thấy rằng ngưỡng trên của 42 kết xuất.

Đây là những gì tôi có bây giờ:

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

Trả lời

21

Thêm này để bạn axes:

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

bạn có thể thêm tickInterval để xác định khoảng cách giữa các dấu trên yaxis

Vui lòng thêm các cài đặt này thành chức năng replot của bạn khi bạn đang cố đặt lại trục:

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

HOẶC

Bạn có thể nói

plot3.replot(false); 

vì vậy nó sẽ không reset rìu của bạn.

+0

tính năng này không hoạt động: ( – karancan

+1

kiểm tra xem tại đây: [Ví dụ Jsfiddle] (http://jsfiddle.net/zQnhM/2/) – Gyandeep

+0

sao chép mã của bạn (mỗi bên trong '$ .jqplot ({}) ; 'Vẫn không hoạt động Bạn đang sử dụng phiên bản nào? – karancan

Các vấn đề liên quan