13

在下面的小提琴中:

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

5 回答 5

22

尝试这样的事情:

Flot 将自动绘制到它所在的容器。因此,如果您的 div 是响应式的,则 Flot 将是响应式的。

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

那么你所要做的就是在你的窗口调整大小时重新绘制浮动:

您可以查看窗口是否调整大小:

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

(参见:JavaScript 窗口调整大小事件

于 2013-06-21T19:36:48.590 回答
22

还有一个官方的flot resize插件

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

于 2014-02-24T11:44:44.683 回答
1

只需在您的页面中包含来自https://github.com/flot/flot的jquery.flot.resize.min.js 脚本。它将变得响应。

于 2016-12-06T04:48:54.163 回答
1

我有同样的问题,解决方案是:

<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>
于 2017-05-03T04:23:52.280 回答
0

只需使用一些CSS。任何现代浏览器都可以使用(内联、样式表):

<div id="chart" style="width: 100%!important"></div>
于 2017-10-14T18:45:06.587 回答