gpt4 book ai didi

javascript - 重绘 jqPlot

转载 作者:搜寻专家 更新时间:2023-11-01 05:02:10 26 4
gpt4 key购买 nike

我正在使用 jqPlot 并想知道是否有一种方法可以在有人更改窗口大小时调整它的大小/重新绘制它。我知道有一个重绘函数,但我不确定如何真正调用它...有人可以指导我如何执行此操作吗?

这是我的代码:

$.jqplot('chart1', [line1], {
title:'Users Per Day',
axes:{
xaxis:{
renderer:$.jqplot.DateAxisRenderer,
tickRenderer: $.jqplot.CanvasAxisTickRenderer ,
// tickInterval:'1 week',
tickOptions:{
formatString:'%b %#d, %y',
angle:-30
}
},
yaxis:{
tickOptions:{
formatString:'%.1f'
}
}
},
highlighter: {
show: true,
sizeAdjust: 7.5
},
cursor: {
show: false
/*show: true,
zoom: true,
showTooltip: false */
}
});

“line1”是在此代码之前填充的数组,chart1 是绘制图表的 div。

有什么想法吗?

谢谢,

克雷格

最佳答案

有关可调整大小图的页面很有帮助:http://www.jqplot.com/deploy/dist/examples/resizablePlot.html

这就是我为我正在处理的项目解决您的特定问题的方法(我将仅使用您的代码作为示例):

首先,将您的绘图分配给一个变量:

plot = $.jqplot('chart1', [line1], {
title:'Users Per Day',
axes:{
xaxis:{
renderer:$.jqplot.DateAxisRenderer,
tickRenderer: $.jqplot.CanvasAxisTickRenderer ,
// tickInterval:'1 week',
tickOptions:{
formatString:'%b %#d, %y',
angle:-30
}
},
yaxis:{
tickOptions:{
formatString:'%.1f'
}
}
},
highlighter: {
show: true,
sizeAdjust: 7.5
},
cursor: {
show: false
/*show: true,
zoom: true,
showTooltip: false */
}
});

然后在你的页面上添加这个函数:

$(window).resize(function() {
plot.replot( {resetAxes: true } );
});

有了 resetAxes ,它也会重新调整坐标轴的比例(你确实会丢失你可能已经设置的任何最小/最大值)。有关重绘的更多信息,请参阅此页面:http://www.jqplot.com/docs/files/jqplot-core-js.html#jqPlot.replot .

关于javascript - 重绘 jqPlot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9722964/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com