필터 지우기
필터 지우기

Shared colormap for multiple maps using mapping toolbox and tiledlayout function

조회 수: 2 (최근 30일)
omid zandi
omid zandi 2021년 5월 23일
댓글: omid zandi 2021년 5월 25일
Hi everyone
I have two problems with mapping toolbox
  1. I want to add a shared colormap for multiple maps. I have added the code below and also the desired figure sample which is cropped from a paper and current code output.
  2. Another problem is that x labels (which are geographical longitudes) overlap each other and I want to control the size of x labels.
Before running the code make sure to download the attached zip file.
Any help would be greatly appreciated.
clc, clear, close all;
% Loading mat files.
load('Border.mat')
% Visualization
tiledlayout(1, 2)
nexttile
% Getting the approprite extent to fit the map in the map frame.
LonLimit = [Border.BoundingBox(1)-0.1 Border.BoundingBox(2)+0.1];
LatLimit = [Border.BoundingBox(3)-0.1 Border.BoundingBox(4)+0.1];
worldmap(LatLimit, LonLimit)
tightmap
% Adding north arrow and customizing it.
northarrow('latitude', 37.8, 'longitude', 51.2, 'ScaleRatio', 0.15)
H = handlem('NorthArrow');
set(H,'FaceColor', [0 0 0], 'EdgeColor', [0 0 0])
geoshow(Border, 'LineWidth', 1.5, 'DisplayType', 'polygon', 'FaceColor', 'w');
% Reading shp files in current directory.
Files = dir('*.shp');
for i = 1:length(Files)
% Extracting tif file names.
FileName = Files(i).name;
% Importing point shapefile containing each station optimized parameters.
Point = shaperead(FileName, 'UseGeoCoords', true);
% Attribute table field names.
FieldNames = fieldnames(Point);
% Maximum and minimum attribute value.
Max = max([Point.(FieldNames{end})]);
Min = min([Point.(FieldNames{end})]);
% Specifying color bar.
ColorBar = flipud(jet);
% Specifying condition.
DensityColors = makesymbolspec('Point', {FieldNames{end}, [Min Max], 'MarkerFaceColor', ColorBar});
geoshow(Point, 'DisplayType', 'point', 'Marker', 'o', 'MarkerSize', 4, 'MarkerEdgeColor', ...
'none', 'SymbolSpec', DensityColors)
caxis([Min Max])
colormap(ColorBar)
C = colorbar;
% Removing suffix.
FileName = split(FileName, '.shp');
FileName = FileName{1};
C.Label.String = [FileName ' [ % ]'];
C.Label.FontSize = 14;
end
% Repeating previous codes to generate another map just for having a ready
% example !!!!!!!!
nexttile
% Getting the approprite extent to fit the map in the map frame.
LonLimit = [Border.BoundingBox(1)-0.1 Border.BoundingBox(2)+0.1];
LatLimit = [Border.BoundingBox(3)-0.1 Border.BoundingBox(4)+0.1];
worldmap(LatLimit, LonLimit)
tightmap
% Adding north arrow and customizing it.
northarrow('latitude', 37.8, 'longitude', 51.2, 'ScaleRatio', 0.15)
H = handlem('NorthArrow');
set(H,'FaceColor', [0 0 0], 'EdgeColor', [0 0 0])
geoshow(Border, 'LineWidth', 1.5, 'DisplayType', 'polygon', 'FaceColor', 'w');
% Reading shp files in current directory.
Files = dir('*.shp');
for i = 1:length(Files)
% Extracting tif file names.
FileName = Files(i).name;
% Importing point shapefile containing each station optimized parameters.
Point = shaperead(FileName, 'UseGeoCoords', true);
% Attribute table field names.
FieldNames = fieldnames(Point);
% Maximum and minimum attribute value.
Max = max([Point.(FieldNames{end})]);
Min = min([Point.(FieldNames{end})]);
% Specifying color bar.
ColorBar = flipud(jet);
% Specifying condition.
DensityColors = makesymbolspec('Point', {FieldNames{end}, [Min Max], 'MarkerFaceColor', ColorBar});
geoshow(Point, 'DisplayType', 'point', 'Marker', 'o', 'MarkerSize', 4, 'MarkerEdgeColor', ...
'none', 'SymbolSpec', DensityColors)
caxis([Min Max])
colormap(ColorBar)
C = colorbar;
% Removing suffix.
FileName = split(FileName, '.shp');
FileName = FileName{1};
C.Label.String = [FileName ' [ % ]'];
C.Label.FontSize = 14;
end
The output :
The desired figure sample :
  댓글 수: 1
omid zandi
omid zandi 2021년 5월 25일
After two days and 30 views no one has even commented on my question. Can anyone recommend me ways to improve my question so that others can easier provide me with answers?

댓글을 달려면 로그인하십시오.

답변 (0개)

제품


릴리스

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by