【问题标题】:Matlab - Two Subplots, single color scale and colorbarMatlab - 两个子图,单色标度和颜色条
【发布时间】:2016-10-10 01:31:52
【问题描述】:

考虑下面的代码

x = [-1:0.1:1];
subplot(2,2,1)
imagesc(x,x,abs(x)/100)
colorbar
subplot(2,2,2)
imagesc(x,x,abs(x))
colorbar

我想要发生的事情是两个图像将具有相同的色阶和相同的颜色条,即左侧大部分为蓝色,而右侧显示完整规模。

【问题讨论】:

  • 左边的情节应该向读者展示什么?一切都会变蓝。 (撰写答案,只是想知道)
  • (假设这只是你选择的一个例子,而你的真实案例有更多不同的数据)
  • @IanRiley,在我的用例中,我实际上想向读者展示左边的图比右边的图具有更少的可变性。因此,拥有更均匀的蓝色将是理想的结果
  • 啊!这个用例更有意义。 (修正了我的回答中的一个错字)。

标签: matlab matlab-figure


【解决方案1】:

编辑:使范围适合两者。

x = [-1:0.1:1];

subplot(1,2,2)
imagesc(x,x,abs(x))
colorbar
c2 = caxis;

subplot(1,2,1)
imagesc(x,x,abs(x)/100)
colorbar
c1 = caxis;
c3 = [min([c1 c2]), max([c1 c2])];
caxis(c3)

subplot(1,2,2)
colorbar off

【讨论】:

  • 工作出色,谢谢。应该注意的是,这会将第二个色阶强加于第一个色阶,而不仅仅是将它们等同起来,这正是我所需要的。我想知道是否有办法为两者创建一个颜色条。例如,如果 subplot(2,2,1)imagesc(x,x,-x),例如。
  • 这个编辑后的版本结合了两个颜色条 - 怎么样?
猜你喜欢
  • 2020-04-21
  • 1970-01-01
  • 1970-01-01
  • 2018-11-28
  • 2010-12-01
  • 2018-06-05
  • 2014-07-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多