Elp*_*rto 5 matlab plot scatter-plot colorbar
我想让每个子图共享相同的颜色条比例.我知道caxis对于大于1的整数有效,但是使用caxis0.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;
Run Code Online (Sandbox Code Playgroud)

现在我希望散点子图具有共同的颜色条比例.我尝试使用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;
Run Code Online (Sandbox Code Playgroud)

你看到的是正确的行为的caxis.设置时caxis([0 0.01]),所有大于的值都会0.01被指定为红色(或棕色,无论你怎么称呼它).在z1,除最后一点之外的所有都大于0.01,所以它们都用红色标记.如果你尝试caxis([0 0.1]),你会看到右边的图是你的两个次要情节的所有blue.The动态范围开了一个数量级,因此,您将无法使用相同的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])
Run Code Online (Sandbox Code Playgroud)

上面的情节看起来更好吗?