2015-09-16 16 views
0

[![輸入圖像描述] [1]] [1]您好我已經在美國地圖上繪製了使用geoshow函數的點形文件。例如代碼在這裏:用於點形文件的色棒

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一個彩條吧?一個例子顯示在這裏:enter image description here

我不知道該怎麼做......任何幫助?

[1]:http://i.stack.imgur.com/ZKJeK.jpg:如果我使用的代碼我得到圖象類似於圖2彩條(所附連結)

+0

如何在代碼中包含行'colorbar'?你喜歡輸出嗎?我無法在您的問題中看到具體問題,也無法在沒有任何數據的情況下重現您的情節。 – thewaywewalk

+0

你需要數據嗎?我也使用MATLAB文件交換中可用的rgb函數...你能展示一些示例代碼...?我在我的代碼中包含了線條顏色條......它不會再現形狀文件的顏色。 – user962808

回答

0

確定。所以你使用自己的色彩地圖,這就是爲什麼一個colorbar命令不會幫助你,因爲你沒有告訴MATLAB你使用的是什麼色彩地圖。

在你的情況,你可以設置你的顏色表是這樣的:你用什麼顏色表

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:

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] 

然後你可以用這樣的顏色表所以它可以爲你生成一個合適的顏色條:

colormap(cmap) 
colorbar 
相關問題