我是MATLAB /编程的新手,所以原谅我的高唱。无论如何,我正在尝试创建一些3色的一些数据的全球分布图。我最终希望这个图形是图形的顶部,它将包含2种不同类型的图形。我的问题是,在设置图例的位置后,空间图和图例中的颜色默认为黑色。我认为问题在于图例的编码,因为当我删除它时,图表结果很好。
无论如何,这是代码:
tm = zeros(3,group(1).ny);
hl = zeros(3,1);
proxycolor = zeros(3,3);
icon{1,1}= [1 0 0]; icon{1,2}= '^'; icon{1,3} = 'Raw Data';
icon{2,1}= [1 1 0]; icon{2,2}= 'v'; icon{2,3} = 'Quality Controlled Data';
icon{3,1}= [0 1 0]; icon{3,2}= '*'; icon{3,3} = 'Screened Data';
fig('Data Availability'),clf
subplot(3,1,1:2)
m_proj('Robinson','clong',180);
m_grid('xtick',[0:60:360],'tickdir','out','ytick',[-90:30:90], 'color',dkgr, 'fontsize',8,'fontname','Times New Roman');
m_coast('color','k');
for j = 1:3
group(j).lon(group(j).lon<0) = group(j).lon(group(j).lon<0) + 360;
tm(j,:) = group(1).tm;
end
for j = 1:3
proxycolor(j,:) = icon{j,1};
hl(j)=m_line(group(j).lon,group(j).lat,'color',icon{j,1},'marker',icon{j,2},'MarkerFaceColor',icon{j,1},'MarkerSize',7,'LineStyle','none');
end
%The problem lies below here somewhere
[LEGH,OBJH,OUTH,OUTM]=legend(hl(:),icon{:,3});pause;
set(LEGH,'FontName','Times','FontSize',10);
set(OUTH,'Color','k','MarkerFaceColor','k','Markersize',8);
legend boxoff
答案 0 :(得分:0)
根据legend
OUTH
的文档,其颜色设置为黑色,包含行的句柄和图中的补丁,即
set(OUTH,'Color','k','MarkerFaceColor','k','Markersize',8);
导致您的问题,应该删除或更改。