matlab 散點圖 部分點坐標連線?

散點圖畫出來了,坐標也標上了,現在需要在部分點之間連線 ,而且是大量數據的連

每個路口有坐標及編號,路口和路口之間是道路 ,如何在圖上畫出相應連線。(line的話好像只能一條一條連,一共幾百組數據)


那麼我就按照F大 @Falccm 的思路舉個栗子吧。

我們所需要數據僅是點的坐標和一個鄰接矩陣(不帶權的那種,當然帶權也可以,其實僅把權值當作一個普通的正數用)

未畫路徑之前:

clear;clc;
a=zeros(100);
for i=1:20 %隨機選擇20條聯通路
x=randi([1,100],1);
y=randi([1,100],1);
a(x,y)=1;
end
a=a+a";
coordinate=zeros(100,2);
for i=1:10
coordinate((i-1)*10+1:i*10,1)=1:10;
coordinate(i:10:9*10+i,2)=1:10;
end
scatter(coordinate(:,1),coordinate(:,2)); hold on
axis off
gplot(a,coordinate)

使用gplot函數繪製路徑之後:

如果覺得有用的話,請為F大點贊。


可以看下 gplot 函數


假如只是畫多條線段的話plot就可以的。

若x,y都是[m x n]的矩陣,p = plot(x,y)會把每列(x,y)的m個節點繪製成一條直線,返回的p就是n條直線的句柄。

畫好直線以後用hold on再把節點畫上就可以了。


figure(1)

clf

hold on

然後一條一條畫


推薦閱讀:

求解演算法導論中的一個數學證明?
CS專業本科生簡歷上寫實現過《演算法導論》上的全部演算法是否合適?
如今「雲計算」流行的今天,是否違背了計算機先驅們「去中心化」的理念?
霧計算與雲計算哪一個是技術的變革哪一個是商業模式的變革?
【估算】計算機對兩個簡單自然數做相乘運算需要多少時間?

TAG:MATLAB | 數學建模 | 計算機科學 |