我使用RGB紋理在一些surface
s中在Matlab中可視化地圖疊加圖。它看起來像這樣:如何在Matlab繪圖圖例中放置一個顏色條圖標
我想有更好的傳奇圖標明確哪一層是。事情是這樣的:
雖然我只是做在GIMP第二個,我想有它的代碼。
可能嗎?可以使用Matlab File Exchange等等。
我使用RGB紋理在一些surface
s中在Matlab中可視化地圖疊加圖。它看起來像這樣:如何在Matlab繪圖圖例中放置一個顏色條圖標
我想有更好的傳奇圖標明確哪一層是。事情是這樣的:
雖然我只是做在GIMP第二個,我想有它的代碼。
可能嗎?可以使用Matlab File Exchange等等。
一個選項是在創建圖形後手動「繪製」圖例的這一部分。這裏是你如何能做到這一點:
plot(nan(2)) % this is to make space in the legend box
hold on
plot(rand(15,1),'r') % here you plot all your data
hold off
hleg = legend({'Lidar Map','Radar Reprojection','Robot Path'});
% get the position of the legend, and calculate the place for the colormaps:
% this values may need to be adjusted
pos = hleg.Position.*[1.01 1+hleg.Position(4)/2.3 0.27 0.6];
% Create a 'picture' of what you want to appear in the legend:
level = 64; % level of color in the colormaps
cb = [1:level; zeros(1,level); (1:level)+level];
cmap = [1 1 1;0 0 0;flipud(gray(level-1)); jet(level)]; % custom colormap
legax = axes('Position',pos); % place the new picture above the legend
imagesc(legax,repelem(cb,[3 1 3],1)) % Create the picture
colormap(cmap) % appy custom colormap
axis off % remove all axes details
下面是結果:
這裏的問題是,傳說中的自定義顏色映射可以與數據的彩色地圖干擾本身,所以你可能也需要照顧,但我不能告訴你如何不知道你的數據是什麼樣子,你目前如何應用顏色映射。
你在這個圖中使用哪個顏色映射?它看起來像是'灰色'和'噴射'的混合物。 – EBH
這些是'表面(用'AlphaData'表示的頂部)和'Z'作爲零和'C'作爲RGB數據,我用jet中的'ind2rgb'生成。 – Laurenz
你能否在你的回答中寫得更清楚?我不確定你在這裏描述了多少個變量。另外,爲什麼上圖中的「雷達重複投影」圖標看起來像是深紅色的矩形? – EBH