点形文件的颜色条 [英] Colorbar for the point shape file

查看:87
本文介绍了点形文件的颜色条的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

[![在此处输入图像描述] [1]] [1]我已经使用geoshow功能在美国地图上绘制了点形状文件.示例代码在这里:

[![enter image description here][1]][1]Hi I have plotted point shape file on the US map using geoshow function. Example codes are here:

for i = 1:length(X_1991_05) if (X_1991_05(i,3) <= -0.7); h1 = geoshow(Lat,Lon,'DisplayType','point','MarkerEdgeColor','k','MarkerFaceColor',rgb('DarkRed'),'MarkerSize',9,'Marker', 'o'); hold on; %,'MarkerSize',2,

for i = 1:length(X_1991_05) if (X_1991_05(i,3) <= -0.7); h1 = geoshow(Lat,Lon,'DisplayType','point','MarkerEdgeColor','k','MarkerFaceColor',rgb('DarkRed'),'MarkerSize',9,'Marker', 'o'); hold on; %,'MarkerSize',2,

elseif(X_1991_05(i,3) > -0.7 && X_1991_05(i,3) < -0.6);
        h2 = geoshow(Lat,Lon,'DisplayType','point','MarkerEdgeColor','k','MarkerFaceColor',rgb('DarkOrange'),'MarkerSize',9,'Marker', 'o'); hold on;


elseif(X_1991_05(i,3) > -0.6 && X_1991_05(i,3) < -0.5);
        h3 = geoshow(Lat,Lon,'DisplayType','point','MarkerEdgeColor','k','MarkerFaceColor',rgb('DarkKhaki'),'MarkerSize',9,'Marker', 'o'); hold on;    


elseif(X_1991_05(i,3) > -0.5 && X_1991_05(i,3) < -0.4);
       h4 = geoshow(Lat,Lon,'DisplayType','point','MarkerEdgeColor','k','MarkerFaceColor',rgb('Gold'),'MarkerSize',9,'Marker', 'o'); hold on;    


elseif(X_1991_05(i,3) > -0.4 && X_1991_05(i,3) < -0.2);
      h5 = geoshow(Lat,Lon,'DisplayType','point','MarkerEdgeColor','k','MarkerFaceColor',rgb('Khaki'),'MarkerSize',9,'Marker', 'o'); hold on;    


elseif(X_1991_05(i,3) > -0.2 && X_1991_05(i,3) < 0.2);
       h6 = geoshow(Lat,Lon,'DisplayType','point','MarkerEdgeColor','k','MarkerFaceColor',rgb('Beige'),'MarkerSize',9,'Marker', 'o'); hold on;    


elseif(X_1991_05(i,3) > 0.2 && X_1991_05(i,3) < 0.4);
       h7 = geoshow(Lat,Lon,'DisplayType','point','MarkerEdgeColor','k','MarkerFaceColor',rgb('Aqua'),'MarkerSize',9,'Marker', 'o'); hold on;    


elseif(X_1991_05(i,3) > 0.4 && X_1991_05(i,3) < 0.5);
        h8 = geoshow(Lat,Lon,'DisplayType','point','MarkerEdgeColor','k','MarkerFaceColor',rgb('CornflowerBlue'),'MarkerSize',9,'Marker', 'o'); hold on;    

elseif(X_1991_05(i,3) >= 0.5);
       h9 = geoshow(Lat,Lon,'DisplayType','point','MarkerEdgeColor','k','MarkerFaceColor',rgb('Navy'),'MarkerSize',9,'Marker', 'o'); hold on;
 end

结束

现在我想根据值h1 .... h9添加一个颜色条.此处显示一个示例:

Now I want a to add a colorbar bar based on the values h1 .... h9? An example is shown here:

我不知道该怎么做...有什么帮助吗?

I don't know how to do that... Any help ?

[1]: http://i.stack.imgur.com/ZKJeK.jpg :如果我在代码中使用了colorbar,则会得到如图2所示的图片(随附的链接)

[1]: http://i.stack.imgur.com/ZKJeK.jpg: If I use colorbar in the code I get picture like in Fig. 2 (the attached link)

推荐答案

好.因此,您使用的是自己的颜色图,这就是为什么单个colorbar命令不能为您提供帮助的原因,因为您没有告诉MATLAB您正在使用什么颜色图.

Ok. So you're using your own colormap, that's why a single colorbar command won't help you, because you haven't told MATLAB what colormap you're using.

在您的情况下,您可以按以下方式设置颜色表:

In your case, you can setup your colormap like this:

cmap = zeros(9,3);
cmap(1,:) = (139, 0, 0);
cmap(2,:) = (255, 140, 0);      % rgb code for dark orange
cmap(3,:) = (189, 183, 107);    % dark khaki
cmap(4,:) = (255, 215, 0);      % gold
cmap(5,:) = (240, 230, 140);    % Khaki
cmap(6,:) = (245, 245, 220);    % Beige
cmap(7,:) = (127, 255, 212);    % Aquamarine
cmap(8,:) = (100, 149, 237);    % Cornflower blue
cmap(9,:) = (0, 0, 128);        % Navy
cmap = cmap/255;  % MALTAB takes rgb indexes in the range [0 1]

然后您可以像这样使用颜色表:

Then you can use the colormap like this:

if (X_1991_05(i,3) <= -0.7)
        h1 = geoshow(Lat, Lon, 'DisplayType', 'point', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', cmap(1,:), 'MarkerSize',9, 'Marker', 'o'); hold on;
....

您必须告诉MATLAB您正在使用什么颜色图,以便它可以为您生成合适的颜色条:

You have to tell MATLAB what colormap you're using so it can generate a proper colorbar for you:

colormap(cmap)
colorbar

这篇关于点形文件的颜色条的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆