Сделать квадрат в легенде вместо линий Matlab
Я следующий код, который Участки под Застройку а «карта» с помощью imagesc, и обеспечивает легенду см приложенный выход.
Я пытаюсь заменить линии в легенде сплошными квадратами. Мои attamps далеко оставляющие линии и рекламные полые квадраты (в том числе случайного квадрата в левом верхнем углу рисунка)
figure(6)
imagesc(lut)
title('Ditribution of Land use Types')
ylabel('Longitude')
xlabel('Latitude')
caxis([0, 7])
myColorMap = jet(6);
imagesc(lut, 'AlphaData', ~isnan(lut))
colormap(myColorMap);
L = line(ones(6), ones(6));
set(L, {'Color'}, num2cell(myColorMap, 2))
legend(L, {'Forest','Shrubland','Savanna','Grassland','Agricultural','Barron'})
set(L(:),'Marker','s')
grid on
ax = gca
ax.GridAlpha = .2
ax.XTick = [5 10 15 20 25 30 35 40];
ax.YTick = [5 10 15 20 25 30];
ax.XTickLabel = {'118^{o}E','123^{o}E','128^{o}E', '133^{o}E', '138^{o}E', '143^{o}E','148^{o}E', '153^{o}E'};
ax.YTickLabel = {'13^{o}S','18^{o}S','23^{o}S','28^{o}S','33^{o}S','38^{o}S'};
ax.TickLength =[0.0 0.0]
Не полный ответ, но и для улучшения, вы можете также установить ' 'MarkerFaceColor'' ваших линий, которые заполнят квадратный мар кег. – Hoki