我有一张满足陆地和海洋分离的世界地图。 中国正在传播某种疾病的起点
我想想象世界各地疾病的传播, 所以疾病的第一周例如向北和向南行进50公里,如此进一步发展。
所以,这种疾病在matlab上传播得很好,但是我想每天为新到达的区域涂上不同的颜色?
有人知道如何在colormap中明确这一点吗? 我现在有这个
colormap hsv
axis([-3 3 -3 3 -10 5])
% number of colors
n = 30;
% color map with red and blue on the edges
C1 = [0.7 0.8 0.3; 0.2 0.3 0.1];
% convert to HSV for interpolation
C1_HSV = rgb2hsv(C1);
% interpolate hue value
C1_HSV_interp = interp1([0 n], C1_HSV(:, 1), 1:n);
% compose full HSV colormap
C1_HSV = [C1_HSV_interp(:), repmat(C1_HSV(2:3), n, 1)];
% convert back to RGB
C1 = hsv2rgb(C1_HSV);
% set colormap
colormap(C1)
我希望
if i<1
L(find(disease>0))=2;
elseif i<2
L(find(disease>0))=3;
elseif i<3
L(find(disease>0))=4;
elseif i<4
L(find(disease>0))=5;
elseif i<5
L(find(disaese>0))=6;
else
L(find(disease>0))=7;
所以我希望i的每个值都有不同的颜色(在第X天之后传播),但我不知道该怎么做。
想法?
答案 0 :(得分:1)
根据您的评论,您似乎想要clims([low high])
。
你的数据可以去,例如。在0到6之间但在不同的时间步长中,您可能没有全部范围,可以调用clims([0 6])
。这将始终绘制色彩图,就像数据介于该范围之间一样,即使您的数据实际上并未涵盖该范围。