2013-06-21 10 views
13

:ウィンドウ幅が変化した場合Flotを反応性にするには?以下フィドルで

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

はどのようにして、グラフの幅の変更を行うことができますか?

コード:

$(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

を使用することができます。開いたりウィンドウのサイズを変更するには、Flotがウィンドウサイズに反応する必要がありますか? – Spencer

答えて

21

このような何かを試してみてください:

FLOT自動それは中のコンテナに描くあなたのdivがFLOTが応答する応答であるかのようにします。。

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

次にあなたがしなければならないすべてはあなたのウィンドウがリサイズした場合FLOTを再描画です:

あなたは窓がでリサイズするかどうかを確認するために見ることができます:

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

(参照:JavaScript window resize eventを)

+0

甘い! Spencer – SB2055

+0

が正しいリンクを提供するためにフィドルを編集しました。 – Spencer

+0

kewl manありがとうございます:) – Gogol

21

また、公式のサイズ変更用のプラグインがあります

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

+2

これははるかに単純な、ネイティブのソリューションのようです。私は受け入れられた答えと同様に、手作業でやろうとしましたが、フロチャートが角の指示になっていたため、おそらく問題がありました。サイズ変更プラグインを使用すると、すべての問題が直ちに修正されました。 – Mordred

+1

は間違いなく最新のflot(0.8.3の時点で)にアップグレードすることをお勧めします。IE8の優れたエラー修正があります。 – aqm

0

ページにhttps://github.com/flot/flotのjquery.flot.resize.min.jsスクリプトを挿入するだけです。それは反応的になるでしょう。

0

私は同じ問題を抱えていたし、解決されました:

<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

はいくつかのCSSを使用します。現代のブラウザでは、(インラインスタイルシート)

<div id="chart" style="width: 100%!important"></div> 
関連する問題