【问题标题】:Setting alpha of colorbar in MATLAB R2014b在 MATLAB R2014b 中设置颜色条的 alpha
【发布时间】:2014-12-02 02:23:38
【问题描述】:

我有一个带有 alpha 映射的颜色图(来自 imagesc)。我希望颜色条反映 alpha(请注意,在下面的图像中,颜色图是相同的)。我在网上找到了解决方案,但似乎没有一个在 R2014b 中有效。

代码在这里:

subplot(2,1,1)
A = imagesc(meshgrid(0:10,0:5));
alpha(A,1)
colorbar

subplot(2,1,2)
B = imagesc(meshgrid(0:10,0:5));
alpha(B,.7)
colorbar

詹姆斯

【问题讨论】:

    标签: matlab alpha colorbar


    【解决方案1】:

    您可以在颜色栏顶部添加一个带有 alpha 的文本框。这适用于更高版本的 MATLAB。

    cb=colorbar
    
    annotation('textbox',...
        cb.Position,...
        'FitBoxToText','off',...
        'FaceAlpha',0.5,...
        'EdgeColor',[1 1 1],...
        'BackgroundColor',[1 1 1]);
    

    【讨论】:

      【解决方案2】:

      在 R2014b 之前的 MATLAB 中,colorbar 本身就是一个轴,其中包含您可以为其设置 alpha 的图像:

      hb = findobj(gcf,'Type','axes','Tag','Colorbar'); 
      hi = findobj(hb,'Type','image');
      alpha(hi,0.7)
      

      不要使用gcf,而是使用各个子图的句柄。

      或者在你制作的时候保存它的句柄:

      hb = colorbar;
      

      从 R2014b 开始,颜色条正在使用新的句柄图形系统创建,其中不再有要修改的子图像。 colorbar 是在内部使用 colorbarHGUsingMATLABClasses 创建的,这是一个混淆的 .p 文件,因此不清楚它是如何构造的。

      【讨论】:

      • 我试过这个,但它什么也没做。这是 R2014b 吗?
      • @James 是的,R2014b。我会做一个更完整的例子。也许我遗漏了一个细节。
      • @James Yikes!在 R2014b 上,不清楚如何去做。抱歉,我误解了这个问题。
      猜你喜欢
      • 2016-09-22
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 2021-10-21
      • 2016-01-21
      • 1970-01-01
      相关资源
      最近更新 更多