How do I add a legend to a pcolorm map plot?

39 ビュー (過去 30 日間)
Keihan
Keihan 2018 年 3 月 26 日
コメント済み: Chad Greene 2018 年 6 月 9 日
Hi, I have draped a 2 dimensional plot over a map using pcolormap:
axesm('mapprojection','miller','maplatlimit',[latMin latMax],...
'maplonlimit',[longMin-5 longMax+5],'grid','on','MeridianLabel','on',...
'ParallelLabel','on','PLineLocation',4,'MlineLocation',8,'LabelUnits','degrees','MLabelLocation',8,...
'LabelFormat','compass','FLatLimit',[40 86]);
geoshow('landareas.shp', 'FaceColor', [1 1 1])
geoshow('worldlakes.shp', 'FaceColor', 'cyan')
[ h] = pcolorm(lat,long,data_rate);
legends = {'50 Mbps','20 Mbps'};
legend(h, legends);
The 2-D array consists of only 2 values. However, the legend command only generated one entry in the legend table. Why doesn't it show the second values. I've attached the

回答 (2 件)

Keihan
Keihan 2018 年 6 月 8 日
Hi Chad, Thanks for your response. So what command should I use to display all the items?
  1 件のコメント
Chad Greene
Chad Greene 2018 年 6 月 9 日
Oh! So data_rate is a matrix with only two values, you're using pcolorm to plot those two values, and you want the legend to show the two values and their corresponding colors?
Typically I wouldn't use a legend to show the values in a pcolorm map, because I'm usually working with a continuum of values, so colorbar is more appropriate than legend.
I don't know of an elegant solution for what you're trying to do. There are many ways to do it, but they all involve a lot of steps. Using colorbar you could do something like this:
% Here's some sample data:
z = peaks;
z(z>0) = 70;
z(z<=0) = 50;
% plot the data:
pcolor(z)
shading flat
cb = colorbar;
%ylabel(cb,'data rate')
caxis([40 80])
cb.Ticks = [50 70];
cb.TickLabels = {'50 Mbps','70 Mbps'};
colormap(parula(2))
The example above uses pcolor on a cartesian plot instead of pcolorm on a map, but the principles are the same.

サインインしてコメントする。


Chad Greene
Chad Greene 2018 年 5 月 30 日
When you call
legend(h, legends);
the h refers only to the handle of the pcolorm object, so h is the only item that will appear in the legend.

カテゴリ

Help Center および File ExchangeGeographic Plots についてさらに検索

タグ


Translated by