棒グラフ(jqplot)があります。画面の解像度に関係なく、画面全体に表示するにはどうすればよいですか?このように:https ://www.desmos.com/calculator 。ウィンドウが変更されると、チャートのサイズが自動的に変更されます。
質問する
1731 次
1 に答える
0
私のために働いたのはこれでした(http://www.jqplot.com/deploy/dist/examples/area.htmlから適応):
<!DOCTYPE html>
<html>
<head>
<title>Filled (Area) Charts</title>
<script class="include" type="text/javascript" src="../jquery.min.js"></script>
<script class="include" type="text/javascript" src="../jquery.jqplot.min.js"></script>
<script class="include" type="text/javascript" src="../plugins/jqplot.categoryAxisRenderer.min.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
var l2 = [11, 9, 5, 12, 14];
var l3 = [4, 8, 5, 3, 6];
var l4 = [12, 6, 13, 11, 2];
var plot = $.jqplot('chart1b',[l2, l3, l4],{
stackSeries: true,
showMarker: false,
seriesDefaults: {
fill: true
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
ticks: ["Mon", "Tue", "Wed", "Thr", "Fri"]
}
}
});
resizePlot(plot);
$(window).bind('resize', function(event, ui) {
resizePlot(plot);
});
});
function resizePlot($plot) {
$($plot.targetId).height($(window).height() * 0.75);
$plot.replot( { resetAxes: true } );
}
</script>
</head>
<body>
<div class="example-content">
<div id="chart1b"></div>
</div>
</body>
</html>
resize
重要なのは、ハンドラーをのイベントにバインドすることwindow
です。これにより、ウィンドウのサイズを取得し、プロットコンテナの高さを変更できます。resize
イベントはプロットの幅にのみ影響するように見えたため、この方法で高さを変更する必要があります。
ここでの私の例では、プロットをウィンドウの高さの75%に設定しています。要件に合わせて、これを調整する必要があります。
于 2012-12-05T20:36:09.153 に答える