首页 文章

在matlab中用pcolor绘图

提问于
浏览
0

我是Matlab的新手,想要在pcolor中绘制数组的一些提示 . 我有温度,经度和纬度数据,并希望在不同时间绘制温度(T)图 . 我已经尝试绘制数组但不起作用 . T有四个维度:lon,lat,深度和时间 . 我只是想绘制表面温度,所以我想把我的数组保持为T(:,:,1,:) . 要在第一次迭代时绘制临时值,我所做的是:

T001=T(:,:,1,1);
pcolor(lon_rho, lat_rho, T001);

并绘制第二次迭代:

T002=T(:,:,1,2);
pcolor(lon, lat, T002);

一切正常 . 但是,我想生成所有时间迭代的所有绘图,然后将它们放入动画中 .

我尝试过类似的东西:

pcolor(lon, lat, T(:,:,1,:))

这不起作用 . 有人可以帮忙吗?

谢谢 .

1 回答

  • 1

    你可以在一段时间内运行循环并使用pcolor绘制数据,并将动画保存到.gif文件中 . 您可以查看以下代码:

    h = figure;
    axis tight
    filename = 'myfile.gif';
    for n = 1:length(t)    
        pcolor(lon_rho, lat_rho, T(:,:,1,n)) ;
        drawnow
        % Capture the plot as an image
        frame = getframe(h);
        im = frame2im(frame);
        [imind,cm] = rgb2ind(im,256);
        % Write to the GIF File
        if n == 1
            imwrite(imind,cm,filename,'gif', 'Loopcount',inf);
        else
            imwrite(imind,cm,filename,'gif','WriteMode','append');
        end
    end
    

相关问题