У меня есть код ниже. Он загружает файл CSV в память. Этот файл содержит координаты для различных полигонов. Каждая строка этого файла имеет координаты X, Y и строку, которая сообщает, к какому полигону относится эта точка данных. например, полигон с именем «Poly1» с 100 точками данных имеет 100 строк в этом файле, например:
Poly1,X1,Y1
Poly1,X2,Y2
...
Poly1,X100,Y100
Poly2,X1,Y1
.....
Файл index.csv содержит номер точки данных (количество строк) для каждого многоугольника в файле Polygons.csv. Эти детали не важны. Дело в том:
Я могу успешно извлечь точки данных для каждого полигона, используя код ниже.
Однако, когда я строю графики, линии разных многоугольников связаны друг с другом, и сюжет выглядит дрянно. Мне нужно, чтобы полигоны были разделены (хотя они связаны и перекрывают некоторые области). Я подумал, что используя «заливку», я могу видеть их лучше. Но «заполнять» просто обводит каждый полигон, который он может найти, а это нежелательно. Я только хочу заполнить внутри полигонов. Кто-нибудь может мне помочь? При необходимости я также могу выслать вам свое назначение данных, оно меньше 200 КБ.
Спасибо
[coordinates,routeNames,polygonData] = xlsread('Polygons.csv');
index = dlmread('Index.csv');
firstPointer = 0
lastPointer = index(1)
for Counter=2:size(index)
firstPointer = firstPointer + index(Counter) + 1
hold on
plot(coordinates(firstPointer:lastPointer,2),coordinates(firstPointer:lastPointer,1),'r-')
lastPointer = lastPointer + index(Counter)
end