I would like to do geobubble plot over Indian landmass. I follow the following link to create my bubble plot:https://in.mathworks.com/help/matlab/ref/geobubble.html. I would like to do the same plot over the shape file of world and India.
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Sushovan Ghosh
le 27 Déc 2019
Réponse apportée : Subhadeep Koley
le 17 Jan 2020
stationwisecorrS2 = readtable('station_wisecorr.xlsx');
0 commentaires
Réponse acceptée
Subhadeep Koley
le 17 Jan 2020
Hi, refer the code below which plots geobubble over india shape file (use the attached zip file for the .shp files).
clear all; close all; clc;
opts = spreadsheetImportOptions("NumVariables", 7);
% Specify sheet and range
opts.Sheet = "Sheet1";
opts.DataRange = "A3:G10";
% Specify column names and types
opts.VariableNames = ["Latitude", "Longitude", "Location", "R", "MABE", "RMSE", "Correlation"];
opts.SelectedVariableNames = ["Latitude", "Longitude", "Location", "R", "MABE", "RMSE", "Correlation"];
opts.VariableTypes = ["double", "double", "string", "double", "double", "double", "categorical"];
opts = setvaropts(opts, 3, "WhitespaceRule", "preserve");
opts = setvaropts(opts, [3, 7], "EmptyFieldRule", "auto");
% Import the data
stationwisecorr = readtable("C:\Users\skoley\Downloads\station_wisecorr.xlsx", opts, "UseExcel", false);
% Convert to categorical
stationwisecorr.Correlation = categorical(stationwisecorr.Correlation);
% Plot geobubble
han = figure;
gb = geobubble(han,stationwisecorr, 'Latitude', 'Longitude',...
'SizeVariable', 'MABE', 'ColorVariable', 'Correlation',...
'Title', 'Comparison between the two datasets', 'Basemap', 'none');
% Set geolimits
geolimits(gb, [6 40], [65 98]);
% Read the .shp file
S = shaperead('INDIA.shp');
% Plot the map
ax = axes(han, 'Units', 'Normalize', 'Position', get(gb, 'Position'));
mapshow(ax, S);
% set transparency and visibility
alpha(ax, 0.2);
ax.Visible = 'off';
% Set limits
axis(ax, [65 98 6 42.5]);
Hope this helps!
0 commentaires
Plus de réponses (1)
Cris LaPierre
le 29 Déc 2019
I think you are saying you want to include more of the world in the map. Is that correct?
The line of code that starts with geolimits is what is setting how much of the map you see. Modify the values there to change how much of the world is included in your geoscatter plot.
Voir également
Catégories
En savoir plus sur Geographic Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!