Javascript 重绘图形

Javascript 重绘图形,javascript,jqplot,Javascript,Jqplot,我正在尝试制作一个能产生随机线条的图形,并且每5秒不断地重画。它会重新绘制,但旧的比例重叠。在重新绘制新图形之前,是否有方法删除旧图形 HTML JavaScript var k=0;//if graph() is first time function graph(){ var ga=[]; for(var j=0;j<11;j++){ ga[j] = Math.random() *20; } $(function ()

我正在尝试制作一个能产生随机线条的图形,并且每5秒不断地重画。它会重新绘制,但旧的比例重叠。在重新绘制新图形之前,是否有方法删除旧图形

HTML


JavaScript

var k=0;//if graph() is first time

function graph(){   
    var ga=[];
    for(var j=0;j<11;j++){
        ga[j] = Math.random() *20;
    }
        $(function () {
    $.jqplot('pointg', [[[0, ga[0]], [2, ga[1]], [4, ga[2]], [6, ga[3]], [8, ga[4]],[10, ga[5]],[12, ga[6]],[14, ga[7]],[16, ga[8]],[18, ga[9]],[20, ga[10]],[22, ga[11]] ]],{
        axes: {
            xaxis: {
                ticks: [ '0', '5', '10', '15', '20' ],
            },
            yaxis: {
                ticks: [ '0', '5', '10', '15', '20' ],
            }
        },
        animate: true,
        seriesDefaults: {
                color: '#ffffff',
                markerOptions: {
                    size: 6
                }

        },
        grid: {
            background: '#000000'
        },
    });
});
    if(k!=0){       
    //remove?   
    }
k++;
;}

graph();
setInterval('graph()',5000);
var k=0//如果graph()是第一次
函数图(){
var ga=[];

对于(var j=0;j您的意思是轴刻度标签是这样相互重叠的吗?

在绘制另一个绘图之前,可以使用该方法销毁现有绘图。为此,需要将jqplot分配给全局变量:

var plot;

function graph(){
    ...  
    plot = $.jqplot('pointg', [...],{
        axes: {
            ...
        },
        animate: true,
        seriesDefaults: {
            ...
        },
        grid: {
            ...
        },
    });
在调用$.jqplot(…)之前,请确保检查并销毁现有绘图:

if (plot) {
    plot.destroy();
}
可以找到一个完整的示例。这将导致以下情况,即轴刻度标签不会彼此重叠呈现:


非常感谢,这正是我想要的!!
if (plot) {
    plot.destroy();
}