Подтвердить что ты не робот

Диаграмма изменения размера jqplot при изменении размера браузера

Есть ли простой способ автоматического изменения размера диаграммы jqplot при изменении размера браузера? Я искал Google и ничего не нашел.

4b9b3361

Ответ 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();
    });
}