plot based on Table
조회 수: 1 (최근 30일)
이전 댓글 표시
I have a table like this
id nodeName longitude Latitude
'0' 'Sydney1' '151.20732' '-33.86785'
'1' 'Brisbane2' '153.02809' '-27.46794'
'2' 'Canberra1' '149.12807' '-35.28346'
that contain id of Nodes, Nod names and geographical longitudes and Latitudes.
now i want to have graph that be ecording to longitude and Latitude and also show the nod names as label of Nodes in plot. but i cant.
댓글 수: 3
Walter Roberson
2021년 2월 1일
NodeCell2 = cell{1,4};
NodeCell2{1} = str2double(all_ids);
NodeCell2{2} = categorical(all_names);
NodeCell2{3} = str2double(all_longs);
NodeCell2{4} = str2double(all_lats);
scatter(NodeCell2{3}, NodeCell2{4});
text(NodeCell2{3}, NodeCell2{4}, NodeCell2{1}); %you might need string(NodeCell2{1}))
채택된 답변
Cris LaPierre
2021년 2월 1일
My first suggestion is to not convert your data to a cell. If you want to store everything in a single variable, use a table.
all_ids={'0';'1';'2'};
all_names={'Sydney1';'Brisbane2';'Canberra1'};
all_longs={'151.20732';'153.02809';'149.12807'};
all_lats={'-33.86785';'-27.46794';'-35.28346'};
myTbl = table(str2double(all_ids),string(all_names),str2double(all_longs),str2double(all_lats),'VariableNames',["id","nodeName","Longitude","Latitude"])
You can't include text in your plot command. Use the text function. See this page for how to access data in a table.
plot(myTbl.Latitude,myTbl.Longitude,'^');
text(myTbl.Latitude,myTbl.Longitude,"\leftarrow " + myTbl.nodeName)
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Geographic Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!