我想让每个子图共享相同的颜色条比例。我知道caxis
适用于大于1的整数,但使用caxis
的值似乎存在问题,例如0.001。
x = 0:1:10;
y = 0:1:10;
z1 = .1:-.01:0;
z2 = .01:-.001:0;
figure;
subplot(1,2,1);
scatter(x,y,10,z1); colorbar;
subplot(1,2,2);
scatter(x,y,10,z2); colorbar;
现在我想让散点子图具有共同的颜色条比例。我尝试使用caxis
,但是我没有得到预期的结果。 左轴无法正确缩放,因为它们都是棕色。如何纠正?
ca = [0 .01];
figure;
subplot(1,2,1);
scatter(x,y,10,z1); caxis(ca); colorbar;
subplot(1,2,2);
scatter(x,y,10,z2); caxis(ca); colorbar;
答案 0 :(得分:8)
您所看到的是caxis
的正确行为。设置caxis([0 0.01])
时,所有大于0.01
的值都会被指定为红色(或棕色,无论你怎么称呼它)。在z1
中,除最后一点之外的所有内容都大于0.01
,因此它们都标记为红色。如果你试过caxis([0 0.1])
,你会看到右边的图是全蓝色的。你的两个子图的动态范围是一个数量级,因此,你将无法充分表示同样的caxis限制。
您是否尝试过使用对数色标?请尝试以下方法:
subplot(1,2,1);
scatter(x,y,10,log10(z1)); colorbar;
caxis([-3 -1])
subplot(1,2,2);
scatter(x,y,10,log10(z2)); colorbar;
caxis([-3 -1])
上面的情节看起来更好吗?