【问题标题】:MATLAB plot loses colors after setting legend设置图例后,MATLAB 绘图失去颜色
【发布时间】:2013-03-29 03:03:21
【问题描述】:

我是 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

【问题讨论】:

    标签: matlab plot matlab-figure


    【解决方案1】:

    根据legendOUTH 的文档,您将其颜色设置为黑色,其中包含图中线条和补丁的句柄,即

    set(OUTH,'Color','k','MarkerFaceColor','k','Markersize',8);
    

    导致您的问题,应该删除或更改。

    【讨论】:

      猜你喜欢
      • 2018-01-05
      • 2012-06-13
      • 2011-12-21
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 2017-12-28
      • 1970-01-01
      • 2014-10-12
      相关资源
      最近更新 更多