叠加图(Matlab)

时间:2015-12-13 14:54:53

标签: matlab loops plot overlay

我有一个地球大陆的文件,其中海像素值为0,陆地像素值为1.海像素为蓝色,陆地像素为绿色定义

imagesc(landmass)
colormap('winter')

现在我想在这张地图上绘制疾病(与陆地大小相同的矩阵)的传播,并使用for循环动态更新此传播。但是,我不知道它是怎么做的。当某个像素中没有疾病时,它应该只显示大陆文件。当像素出现疾病时,必须由疾病矩阵覆盖。

image(disease);
map = 'jet';
colormap(map);

我尝试了这个,但它不起作用(所以这是在更新疾病矩阵的循环内):

for t=1:365
   disease=disease+t;
   figure(1);      
   imagesc(landmass)
   colormap('winter')
   hold on;
   if disease>0
      image(disease);
      map = 'jet';
      colormap(map);
   end
  title(sprintf('Day %i',t));                                 
  drawnow;
end

1 个答案:

答案 0 :(得分:0)

您需要使用原始矩阵<input src="assets/uploads/<?php echo $row->image; ?>" type="image" id="pimage" width="300px"> 并在要覆盖数据的索引处更新它,而不是仅更新疾病数组。您可以更改代码以执行以下操作

landmass

其中,疾病像素将是您在该点所需颜色的值。