【问题标题】:Matlab: Using imagesc in grayscale without blackMatlab:在没有黑色的灰度中使用imagesc
【发布时间】:2014-07-10 17:21:25
【问题描述】:

以一个简单的 0 或 1 的二维矩阵 m 为例:

m = [ 0 0 0 1 1
      0 1 1 1 0
      1 1 0 0 1
      0 0 0 1 0 ] 

如何使用 imagesc() 将此图像显示为只有白色和一个灰色的图形?目前,我的代码是这样的:

imagesc(m)
colormap(gray)
colorbar

我已经尝试了各种方法来调整颜色图并设置限制与 CLim 一起使用的值,但我还没有找到一种方法来限制实际颜色本身,而不是为 0 值设置白色和黑色和 1,我们分别有 1 和 0 的白色和(浅)灰度值。有什么快速简便的方法吗?

注意:我还应该提到我想要这些,所以我可以覆盖相同尺寸(但不同值)的等高线图并使用黑色,所以我不确定这是否会影响任何答案,但我考虑到这一点,我也愿意接受建议。

【问题讨论】:

  • colorbar之后试试这个-caxis([-1 1])
  • 感谢@Divakar,这非常简单。很抱歉问这样一个新手问题。我没有找到任何指向 caxis 的东西。 :-\
  • 很高兴它对你有用,我认为这只是我建议的一个技巧。

标签: matlab colors grayscale


【解决方案1】:
imagesc(m)
cmap = [.7 .7 .7 %// light gray
        1  1  1] %// white
colormap(cmap)
colorbar('Ytick',[.25 .75],'Yticklabel',[0 1]) %// only two values in colorbar

【讨论】:

  • 谢谢。非常有用!
猜你喜欢
  • 2011-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-17
  • 2011-02-26
  • 1970-01-01
相关资源
最近更新 更多