我正在运行一个模拟,该模拟描述了 2D 方格的正面和背面的活动。正面和背面的描述例如:
front= [-1 1 -1 0 1 0 1 2 -2 1 ];
back = [ 1 0 0 0 2 0 1 -2 -2 1 ];
每个数字表示晶格上的不同活动。
我想以交互方式绘制它,以便晶格中的每个值都用不同的标记和颜色标记,并且每次迭代都会更新绘图。到目前为止,我有类似的东西:
% the upper and lower edges of the lattice
figure (1)
hold on
plot(linspace(1,100,10),10*ones(1,10),'k'); %front
plot(linspace(1,100,10),1*ones(1,10),'k'); %back
% the front and back when are equal 0 zero (initial condition)
plot(100*ones(1,10),1:10,'ob','markersize',10); % front
plot(1*ones(1,10),1:10,'ob','markersize',10); % back
xlim([-1 101])
ylim([-1 11])
这标志着我正在处理的系统的初始设置,绘制它以查看我所指的内容。
现在在每次迭代中,我想查看不同值的圆圈改变颜色,例如:
figure (1)
ind=find(front==1);
if (isenum(ind)==0)
plot(100*ones(1,length(ind)),ind,'or','markerfacecolor','r');
end
这样做了 10 次,前面有 5 个值,后面有 5 个值,并且在模拟上非常繁重为每个值分配不同的标记。我设法用 imagesc 做到这一点,但是,我在驾驶标记时丢失了我想要保留的图形(我希望稍后添加箭头和其他东西)。有人对这类事情有任何经验吗?