
- Matlab 教程
- MATLAB - 首頁
- MATLAB - 概述
- MATLAB - 特性
- MATLAB - 環境設定
- MATLAB - 編輯器
- MATLAB - 線上
- MATLAB - 工作區
- MATLAB - 語法
- MATLAB - 變數
- MATLAB - 命令
- MATLAB - 資料型別
- MATLAB - 運算子
- MATLAB - 日期和時間
- MATLAB - 數字
- MATLAB - 隨機數
- MATLAB - 字串和字元
- MATLAB - 文字格式化
- MATLAB - 時間表
- MATLAB - M 檔案
- MATLAB - 冒號表示法
- MATLAB - 資料匯入
- MATLAB - 資料輸出
- MATLAB - 資料歸一化
- MATLAB - 預定義變數
- MATLAB - 決策
- MATLAB - 決策
- MATLAB - If End 語句
- MATLAB - If Else 語句
- MATLAB - If…Elseif Else 語句
- MATLAB - 巢狀 If 語句
- MATLAB - Switch 語句
- MATLAB - 巢狀 Switch
- MATLAB - 迴圈
- MATLAB - 迴圈
- MATLAB - For 迴圈
- MATLAB - While 迴圈
- MATLAB - 巢狀迴圈
- MATLAB - Break 語句
- MATLAB - Continue 語句
- MATLAB - End 語句
- MATLAB - 陣列
- MATLAB - 陣列
- MATLAB - 向量
- MATLAB - 轉置運算子
- MATLAB - 陣列索引
- MATLAB - 多維陣列
- MATLAB - 相容陣列
- MATLAB - 分類陣列
- MATLAB - 元胞陣列
- MATLAB - 矩陣
- MATLAB - 稀疏矩陣
- MATLAB - 表格
- MATLAB - 結構體
- MATLAB - 陣列乘法
- MATLAB - 陣列除法
- MATLAB - 陣列函式
- MATLAB - 函式
- MATLAB - 函式
- MATLAB - 函式引數
- MATLAB - 匿名函式
- MATLAB - 巢狀函式
- MATLAB - 返回語句
- MATLAB - 無返回值函式
- MATLAB - 區域性函式
- MATLAB - 全域性變數
- MATLAB - 函式控制代碼
- MATLAB - 濾波函式
- MATLAB - 階乘
- MATLAB - 私有函式
- MATLAB - 子函式
- MATLAB - 遞迴函式
- MATLAB - 函式優先順序順序
- MATLAB - Map 函式
- MATLAB - 均值函式
- MATLAB - End 函式
- MATLAB - 錯誤處理
- MATLAB - 錯誤處理
- MATLAB - Try...Catch 語句
- MATLAB - 除錯
- MATLAB - 繪圖
- MATLAB - 繪圖
- MATLAB - 繪製陣列
- MATLAB - 繪製向量
- MATLAB - 條形圖
- MATLAB - 直方圖
- MATLAB - 圖形
- MATLAB - 2D 線性圖
- MATLAB - 3D 圖形
- MATLAB - 格式化圖形
- MATLAB - 對數座標軸圖形
- MATLAB - 繪製誤差條
- MATLAB - 繪製 3D 等值線圖
- MATLAB - 極座標圖
- MATLAB - 散點圖
- MATLAB - 繪製表示式或函式
- MATLAB - 繪製矩形
- MATLAB - 繪製頻譜圖
- MATLAB - 繪製網格曲面
- MATLAB - 繪製正弦波
- MATLAB - 插值
- MATLAB - 插值
- MATLAB - 線性插值
- MATLAB - 2D 陣列插值
- MATLAB - 3D 陣列插值
- MATLAB - 多項式
- MATLAB - 多項式
- MATLAB - 多項式加法
- MATLAB - 多項式乘法
- MATLAB - 多項式除法
- MATLAB - 多項式的導數
- MATLAB - 變換
- MATLAB - 變換
- MATLAB - 拉普拉斯變換
- MATLAB - 拉普拉斯濾波器
- MATLAB - 高斯-拉普拉斯濾波器
- MATLAB - 逆傅立葉變換
- MATLAB - 傅立葉變換
- MATLAB - 快速傅立葉變換
- MATLAB - 2D 逆餘弦變換
- MATLAB - 向座標軸新增圖例
- MATLAB - 面向物件
- MATLAB - 面向物件程式設計
- MATLAB - 類和物件
- MATLAB - 函式過載
- MATLAB - 運算子過載
- MATLAB - 使用者定義類
- MATLAB - 複製物件
- MATLAB - 代數
- MATLAB - 線性代數
- MATLAB - 高斯消元法
- MATLAB - 高斯-約旦消元法
- MATLAB - 簡化行階梯形式
- MATLAB - 特徵值和特徵向量
- MATLAB - 積分
- MATLAB - 積分
- MATLAB - 二重積分
- MATLAB - 梯形法則
- MATLAB - 辛普森法則
- MATLAB - 其他
- MATLAB - 微積分
- MATLAB - 微分
- MATLAB - 矩陣的逆
- MATLAB - GNU Octave
- MATLAB - Simulink
- MATLAB - 有用資源
- MATLAB - 快速指南
- MATLAB - 有用資源
- MATLAB - 討論
MATLAB - 散點圖
散點圖是一種資料視覺化型別,它將單個數據點顯示為點。它們有助於顯示兩個連續變數之間的關係,例如身高和體重,或突出資料中的叢集或模式。
圖上的每個點代表一個數據點,它在 x 軸上的位置對應於一個變數,它在 y 軸上的位置對應於另一個變數。散點圖對於識別資料中的趨勢、模式和異常值特別有用。在 MATLAB 中,您可以使用 scatter 函式建立散點圖。
語法
scatter(x,y) scatter(x,y,sz) scatter(x,y,sz,c) scatter(___,"filled") scatter(___,mkr) scatter(tbl,xvar,yvar) scatter(tbl,xvar,yvar,"filled")
語法的詳細解釋如下:
scatter(x,y) - scatter(x, y) 函式生成一個散點圖,其中圓形標記根據向量 x 和 y 中的值進行定位。對於一組座標,請確保 x 和 y 是長度相同的向量。要在單個座標系上繪製多組座標,請將 x 或 y 作為矩陣輸入。
scatter(x,y,sz) - 函式定義散點圖中圓圈的大小。要使所有圓圈大小相同,請將 sz 設定為單個值。對於不同的圓圈大小,請對 sz 使用向量或矩陣。
scatter(x,y,sz,c) - 設定散點圖中圓圈的顏色。您可以為所有圓圈選擇一種顏色或具有不同的顏色。例如,要將所有圓圈繪製為紅色,請將 c 設定為“red”。
scatter(___,"filled") - 此處,scatter 函式的“filled”選項填充圓圈。此選項可與我們在上述語法中描述的任何輸入引數組合一起使用。
scatter(___,mkr) - 語法允許您指定散點圖的標記型別。
scatter(tbl,xvar,yvar) - 函式繪製表格 tbl 中的變數 xvar 和 yvar。要繪製單個數據集,請選擇一個變數作為 xvar,另一個變數作為 yvar。對於多個數據集,為 xvar、yvar 或兩者都選擇多個變數。如果兩個引數都包含多個變數,則它們必須具有相同的長度。
scatter(tbl,xvar,yvar,"filled") - 將繪製表格中指定的變數,並使用填充圓圈。
散點圖繪製示例
讓我們看看根據上面討論的語法繪製散點圖的示例。
示例 1:使用 scatter(x,y)
上述語法的程式碼如下:
x = rand(1, 100); y = rand(1, 100); scatter(x, y);
在此示例中,x 和 y 是隨機值的向量,每個向量包含 100 個元素。scatter(x, y) 函式使用這些值建立一個散點圖,其中每個點都由一個圓形標記表示。
當您在 matlab 命令視窗中執行相同操作時,輸出為:

示例 2:使用 scatter(x,y,sz)
我們對上述語法的程式碼如下:
x = rand(1, 100); y = rand(1, 100); sz = 50 * rand(1, 100); scatter(x, y, sz);
在此示例中,sz 是一個包含 100 個隨機值的向量,這些值表示散點圖中圓圈的大小。透過將 sz 指定為 scatter 函式的第三個引數,每個圓圈都將以對應於 sz 向量中對應索引處的值的大小繪製。這使您可以建立一個散點圖,其中每個圓圈的大小由一組單獨的值確定。
當您在 matlab 命令視窗中執行相同操作時,輸出為:

示例 3:使用 scatter(x,y,sz,c)
上述語法的程式碼如下:
x = rand(1, 100); y = rand(1, 100); sz = 50 * rand(1, 100); c = rand(1, 100); scatter(x, y, sz, c);
在此示例中,c 是一個包含 100 個隨機值的向量,這些值表示散點圖中圓圈的顏色。透過將 c 指定為 scatter 函式的第四個引數,每個圓圈都將以對應於 c 向量中對應索引處的值的顏色繪製。

示例 4:使用 scatter(___,"filled")
上述語法的程式碼為:
x = rand(1, 100); y = rand(1, 100); scatter(x, y, 'filled');
在此示例中,“filled”選項與 scatter 函式一起使用以填充散點圖中的圓圈。此選項可與之前描述的任何輸入引數組合一起使用,允許您自定義圖形的外觀,同時填充圓圈。
當您在 matlab 命令視窗中執行程式碼時,輸出為:

示例 5:使用 scatter(___,mkr)
上述語法的程式碼為:
x = rand(1, 100); y = rand(1, 100); scatter(x, y, 'd');
在此示例中,“d”引數用作 scatter 函式的標記型別,它指定應為散點圖中的每個資料點使用菱形標記。您可以將“d”替換為其他標記型別,例如“o”表示圓形、“s”表示正方形、“+”表示加號等,以自定義圖形中標記的外觀。
當您在 matlab 命令視窗中執行程式碼時,輸出為:

示例 6:使用 scatter(tbl,xvar,yvar)
上述語法的程式碼為:
data = rand(10, 2); tbl = array2table(data, 'VariableNames', {'x', 'y'}); scatter(tbl, 'x', 'y');
在此示例中,tbl 是一個包含兩個變數 x 和 y 的表格。行 tbl = array2table(data, 'VariableNames', {'x', 'y'}); 將資料陣列轉換為一個名為“x”和“y”的兩個變數的表格 tbl。scatter(tbl, 'x', 'y') 函式用於建立這些變數的散點圖。
當您在 matlab 命令視窗中執行程式碼時,輸出為:

示例 7:使用 scatter(tbl,xvar,yvar,"filled")
上述語法的程式碼為:
data = rand(10, 2); tbl = array2table(data, 'VariableNames', {'x', 'y'}); scatter(tbl, 'x', 'y', 'filled');
在此示例中,tbl 是一個包含兩個變數 x 和 y 的表格。scatter(tbl, 'x', 'y', 'filled') 函式用於建立這些變數的散點圖,並使用填充圓圈。“filled”引數指定散點圖中的標記應填充。
當您在 matlab 命令視窗中執行相同操作時,輸出為:

按組繪製散點圖
按組繪製散點圖是指根據分類變數對資料點進行分組或著色的散點圖。這種型別的圖形有助於視覺化兩個連續變數之間的關係,同時還顯示資料如何劃分為不同的組。每組在散點圖中都由不同的顏色或標記樣式表示,從而更容易比較組並識別任何模式或趨勢。
在 MATLAB 中,可以使用 gscatter() 函式建立按組繪製的散點圖。此函式允許您在散點圖中繪製多個數據點組,每組都由不同的顏色或標記樣式表示。
語法
gscatter(x,y,g) gscatter(x,y,g,clr,sym,siz) gscatter(x,y,g,clr,sym,siz,doleg) gscatter(x,y,g,clr,sym,siz,doleg,xnam,ynam)
語法的詳細解釋如下:
gscatter(x,y,g) - 函式生成一個散點圖,其中由 x 和 y 表示的資料點根據 g 中的值進行分組。x 和 y 都應為長度相同的向量。
gscatter(x,y,g,clr,sym,siz) - 函式允許您自定義散點圖中每組的標記顏色 (clr)、符號 (sym) 和大小 (siz)。
gscatter(x,y,g,clr,sym,siz,doleg) − 該函式用於確定圖形上是否顯示圖例。預設情況下,gscatter 會建立圖例。
gscatter(x,y,g,clr,sym,siz,doleg,xnam,ynam) − 該函式允許您為 x 軸 (xnam) 和 y 軸 (ynam) 指定標籤。如果您不提供 xnam 和 ynam,並且 x 和 y 輸入是具有名稱的變數,則 gscatter 將使用這些變數名稱作為軸標籤。
讓我們看看上面討論的每種語法的示例。
示例 1:使用 gscatter(x,y,g)
上述語法的程式碼如下:
x = randn(100, 1); y = randn(100, 1); g = randi([1, 3], 100, 1); gscatter(x, y, g);
在此示例中,gscatter 用於建立 x 與 y 的散點圖,其中資料點根據 g 中的值進行分組。每個組由不同的顏色表示,並在圖中新增圖例以指示哪種顏色對應於哪個組。
當您在 matlab 命令視窗中執行相同操作時,輸出為:

示例 2:使用 gscatter(x,y,g,clr,sym,siz)
上述語法的程式碼為:
x = randn(100, 1); y = randn(100, 1); g = randi([1, 3], 100, 1); clr = ['r', 'g', 'b']; sym = ['o', 's', 'd']; siz = [20, 30, 40]; gscatter(x, y, g, clr, sym, siz);
在此示例中,gscatter 用於建立 x 與 y 的散點圖,其中資料點根據 g 中的值進行分組。clr、sym 和 siz 向量為每個組定義自定義標記屬性(顏色、符號和大小)。散點圖將使用指定的顏色、標記符號和標記大小顯示每個組。
執行程式碼後,輸出為 −

示例 3:使用 gscatter(x,y,g,clr,sym,siz,doleg)
上述語法的程式碼為:
x = randn(100, 1); y = randn(100, 1); g = randi([1, 3], 100, 1); clr = ['r', 'g', 'b']; sym = ['o', 's', 'd']; siz = [20, 30, 40]; gscatter(x, y, g, clr, sym, siz, 'off');
在此示例中,gscatter 用於建立 x 與 y 的散點圖,其中資料點根據 g 中的值進行分組。clr、sym 和 siz 向量為每個組定義自定義標記屬性(顏色、符號和大小)。doleg 的“off”引數指定圖中不應顯示圖例。
當您在 matlab 命令視窗中執行相同操作時,輸出為:

示例 4:使用 gscatter(x,y,g,clr,sym,siz,doleg,xnam,ynam)
上述語法的程式碼為:
x = randn(100, 1); y = randn(100, 1); g = randi([1, 3], 100, 1); clr = ['r', 'g', 'b']; sym = ['o', 's', 'd']; siz = [20, 30, 40]; xnam = 'X-axis Label'; ynam = 'Y-axis Label'; gscatter(x, y, g, clr, sym, siz, 'on', xnam, ynam);
在此示例中,gscatter 用於建立 x 與 y 的散點圖,其中資料點根據 g 中的值進行分組。clr、sym 和 siz 向量為每個組定義自定義標記屬性(顏色、符號和大小)。doleg 的“on”引數指定圖中應顯示圖例。xnam 和 ynam 引數分別指定 x 軸和 y 軸的自定義標籤。如果您不提供 xnam 和 ynam,並且 x 和 y 輸入是具有名稱的變數,則 gscatter 將使用這些變數名稱作為軸標籤。
當您在 matlab 命令視窗中執行程式碼時,輸出為:
