2013-06-21 14 views
13

Trong fiddle sau:Làm thế nào để làm cho flot đáp ứng?

http://jsfiddle.net/jamitzky/9x7aJ/

Làm thế nào tôi có thể làm thay đổi độ rộng của đồ thị nếu những thay đổi chiều rộng cửa sổ?

mã:

$(function() { 
var d1 = []; 
for (var i = 0; i < 14; i += 0.5) 
    d1.push([i, Math.sin(i)]); 

var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]]; 

// a null signifies separate line segments 
var d3 = [[0, 12], [7, 12], null, [7, 2.5], [12, 2.5]]; 

$.plot($("#placeholder"), [ d1, d2, d3 ]); 
}); 
+0

Bạn có cần Flot đáp ứng với kích thước cửa sổ khi mở hoặc thay đổi kích thước bằng cửa sổ không? – Spencer

Trả lời

21

Hãy thử một cái gì đó như thế này:

Flot sẽ tự động rút ra để chứa nó trong Vì vậy, nếu div của bạn là đáp ứng Flot sẽ được đáp ứng..

http://jsfiddle.net/9x7aJ/2029/

sau đó tất cả các bạn phải làm là vẽ lại các flot nếu cửa sổ của bạn thay đổi kích thước:

Bạn có thể xem để xem nếu cửa sổ thay đổi kích thước với:

window.onresize = function(event) { 
    ... 
} 

(xem: JavaScript window resize event)

+0

ngọt ngào! cảm ơn Spencer – SB2055

+0

đã chỉnh sửa fiddle để cung cấp liên kết chính xác. – Spencer

+0

kewl man thanks a lot :) – Gogol

21

Ngoài ra, còn có plugin thay đổi kích thước chính thức

http://people.iola.dk/olau/flot/examples/resize.html

+2

Điều này có vẻ giống như giải pháp đơn giản hơn nhiều. Tôi đã cố gắng để làm điều đó bằng tay, tương tự như câu trả lời được chấp nhận, nhưng tôi đã có vấn đề có lẽ vì biểu đồ flot của tôi là trong một chỉ thị góc. Sử dụng plugin thay đổi kích thước đã khắc phục tất cả sự cố của tôi ngay lập tức. – Mordred

+1

chắc chắn cũng khuyên bạn nên nâng cấp lên bản mới nhất (0.8.3 khi viết), nó có một số sửa lỗi IE8 tuyệt vời, mà trước đây tôi phải vá lỗi chính thức với – aqm

0

Chỉ bao gồm tập lệnh jquery.flot.resize.min.js từ https://github.com/flot/flot trong trang của bạn. Nó sẽ trở thành đáp ứng.

0

tôi đã cùng một vấn đề và giải pháp là:

<script language="javascript" type="text/javascript" src="http://people.iola.dk/olau/flot/jquery.js"></script> 
<script language="javascript" type="text/javascript" src="http://people.iola.dk/olau/flot/jquery.flot.js"></script> 
<script language="javascript" type="text/javascript" src="http://people.iola.dk/olau/flot/jquery.flot.resize.js"></script> 
<script src="./jquery.flot.axislabels.js"></script> 
0

Chỉ cần sử dụng một số css. Mọi trình duyệt hiện đại đều có thể sử dụng (inline, stylesheet):

<div id="chart" style="width: 100%!important"></div>