У меня есть код Matlab, который выглядит следующим образом, и я получаю хороший график цветных точек на основе моего входного файла и переменной «prod», которая является переменной 10 x 1, но может быть prod = rand(10,1)
для этот пример. «lat» и «lont» - значения широты и долготы. Я пытаюсь построить легенду, которая показывает все 10 записей с текстовым файлом, который содержит все 10 записей. С кодом, который я показал ниже, я получаю легенду, которая дает мне 1 из 10 записей с соответствующей цветовой точкой на карте, но с предупреждением об игнорировании «лишних» записей легенд. Я искал документацию и интернет для примеров построения с использованием scatterm
с большой (мои фактические данные> 100 баллов), но не может найти ничего, что сработает. Заранее спасибо за вашу помощь!Точки метки Matlab на карте
prod = xlsread('J:\out.rms.err.xlsx', 'sheet1','C2:E182'); %open file
disp('finished reading input file');
[txt txt ] = xlsread('J:\out.rms.err.xlsx'); %
text = txt(2:end,1); %farms only
%figure; ax = worldmap({'Spain'});
lat = prod(:,2);
lon = prod(:,3);
%xy = [ lat lon ];
colormap('hot');
ax = figure(1);
%ax = worldmap([40 45 ], [-11 5]); %Northern Spain
%ax = worldmap([35 40 ], [-11 5]); %Southern Spain
ax = worldmap([35 45 ], [-12 5]);
set(ax,'visible','off','units','normalized','outerposition',[0 0 1 1]);
land = shaperead('landareas.shp','UseGeoCoords',true);
geoshow(ax,land,'FaceColor', [0.15 0.5 0.15]);
colormap('hsv');
colorbar;
hold on;
hh = num2str(prod(:,1));
h(1) = scatterm(ax,lat,lon,20,prod(:,1),'filled');
legend(h,text,1);