Есть ли простой способ автоматического изменения размера диаграммы jqplot при изменении размера браузера? Я искал Google и ничего не нашел.
Диаграмма изменения размера jqplot при изменении размера браузера
Ответ 1
Изменяется размер jqplots здесь.
Чтобы заставить его работать при изменении размера браузера, привяжите функцию replot с помощью события window.resize:
$(window).resize(function() {
plot1.replot( { resetAxes: true } );
});
Код запуска:
$(document).ready(function(){
var plot1 = $.jqplot ('container', [[3,7,9,1,4,6,8,2,5]], {});
$(window).resize(function() {
plot1.replot( { resetAxes: true } );
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script language="javascript" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqPlot/1.0.8/jquery.jqplot.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jqPlot/1.0.8/jquery.jqplot.min.css">
<div id="container"></div>
Ответ 2
Я обнаружил, что использование replot не всегда дает согласованные результаты, если у вас есть много вариантов на ваших графиках. Единственный способ, которым я обнаружил, что сложные графики справляются с изменениями окон, - это получить жестокость, уничтожить его и перестроить.
function () {
var plot;
var renderGraph = function() {
plot = $.jqplot('chartId', yourChartData, yourChartOptions);
}
renderGraph();
var resizeGraph = function() {
if (plot)
plot.destroy();
renderGraph();
}
$(window).resize(function() {
resizeGraph();
});
}