gpt4 book ai didi

带色 block 的 Matlab 图像图例

转载 作者:太空宇宙 更新时间:2023-11-03 19:47:11 25 4
gpt4 key购买 nike

我正在尝试使用 label2rgb 为根据标签图像和自定义颜色映射制作的颜色映射图像制作图例。基本上我想要一个图例来显示颜色图颜色的小矩形样本以及自定义标签。

我希望能够设置标签的颜色和背景。该图像是使用 imshow 显示的,显然 legend 对此类数字没有影响。

我已经尝试使用 colorbar 解决这个问题,如下所示,但我对此非常不满意,因为如果我调整绘图窗口的大小,所有内容都会被丢弃。

谁能告诉我应该如何制作这种类型的图例,最好是在调整图形窗口大小时根据需要自行 float 和移动的方式。如果这不可能,那么有人可以告诉我如何为颜色条的标签文本着色或为颜色条的边界框(包含其标签)提供背景色吗?如您所见,如果我没有手动添加背景白框,标签将是不可见的。

谢谢。

label_image = zeros(768, 1024);
label_image(100:400, 500:600)=1;
label_image(500:600, 100:600)=2;
label_image(25:300, 100:400)=3;

custom_colormap = [ 0 1 0; 1 0 0; 0 0 1;];

label_image = label2rgb(label_image, custom_colormap, [0 0 0]);

% Make a white backround for the colorbar.
% Don't want to have to do this line.
label_image(25:140, 775:1010,:)=255;

% Show the image
imshow(label_image, 'InitialMagnification', 50);

% Here, I would like to be able to set colorbar label text color and/ or
% colorbar bounding box background color, or better yet, use some variant
% on the legend function to do this automatically
colormap(custom_colormap);
labels={'Both', 'Always Moving', 'Moved'};

hcb=colorbar('peer',gca,...
[0.7 0.8 0.03 0.1],...
'YTickLabel',labels,...
'XAxisLocation','bottom',...
'TickLength',[0 0],...
'Color',[1 0 1]);

最佳答案

您想分别设置颜色条的 x 轴和 y 轴的颜色。

set(hcb,'ycolor','w','xcolor','w')

因此,您不必放置白色矩形。检查 get(hcb) 以查看您可以修改的所有属性的列表。

关于带色 block 的 Matlab 图像图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6714738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com