一、概述
Scatter函數是Matlab中的基礎繪圖函數之一,它可以根據二維或三維數據繪製散點圖。其中,x、y、z為傳入的數組,對應數據點的坐標;c為可選的傳入數組,用於指定每個數據點的顏色;sz為可選的值或傳入數組,用於指定每個數據點的大小。
二、繪製散點圖
使用scatter函數可以繪製二維或三維的散點圖。其中,二維散點圖可以使用scatter(x,y)函數繪製,如下所示:
x = rand(50,1);
y = rand(50,1);
scatter(x,y)
如果要繪製三維散點圖,則需要傳入三個數組,並使用scatter3函數繪製,如下所示:
x = rand(50,1);
y = rand(50,1);
z = rand(50,1);
scatter3(x,y,z)
此外,還可以通過傳入c、sz參數來指定每個數據點的顏色和大小,例如:
x = rand(50,1);
y = rand(50,1);
c = rand(50,1);
sz = 50*rand(50,1);
scatter(x,y,sz,c,'filled')
上面的代碼可以繪製指定大小和顏色的散點圖。
三、繪圖屬性設置
scatter函數有眾多的屬性設置參數,如MarkerFaceColor、MarkerEdgeColor、LineWidth、MarkerSize等,可以用於調整散點的樣式和大小,例如:
x = rand(50,1);
y = rand(50,1);
c = rand(50,1);
sz = 50*rand(50,1);
scatter(x,y,sz,c,'filled','MarkerFaceColor',[1 .6 .78],'MarkerEdgeColor',[.5 0 .5],'LineWidth',1.5,'MarkerSize',10)
上面的代碼可以繪製具有指定線寬、指定大小、指定顏色和填充的散點圖。
四、子圖繪製
在Matlab中,一張圖紙中可以繪製多個子圖,使得多個圖像可以直接進行比較。scatter函數也可以用於子圖繪製。例如:
x1 = rand(50,1);
y1 = rand(50,1);
c1 = rand(50,1);
sz1 = 50*rand(50,1);
subplot(1,2,1);
scatter(x1,y1,sz1,c1,'filled','MarkerFaceColor',[1 .6 .78],'MarkerEdgeColor',[.5 0 .5],'LineWidth',1.5,'MarkerSize',10)
x2 = rand(50,1);
y2 = rand(50,1);
c2 = rand(50,1);
sz2 = 20*rand(50,1);
subplot(1,2,2);
scatter(x2,y2,sz2,c2,'filled','MarkerFaceColor',[1 .6 .78],'MarkerEdgeColor',[.5 0 .5],'LineWidth',1.5,'MarkerSize',10)
上面的代碼繪製了一個包含兩個子圖的散點圖。
五、代碼示例
下面是一個完整的代碼示例,可以用於繪製具有指定顏色、大小和樣式的散點圖:
x = rand(50,1);
y = rand(50,1);
c = rand(50,1);
sz = 50*rand(50,1);
scatter(x,y,sz,c,'filled','MarkerFaceColor',[1 .6 .78],'MarkerEdgeColor',[.5 0 .5],'LineWidth',1.5,'MarkerSize',10)
六、總結
scatter函數作為Matlab中的基礎繪圖函數,可以實現二維和三維散點圖的繪製,並且具有豐富的屬性設置參數。在使用時,可以根據具體需求選擇傳入數組,並對其進行屬性設置,以實現最終需要的圖像效果。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/182355.html