在 MATLAB 中的單個散點圖上繪製多個資料集

Ammar Ali 2024年2月15日
在 MATLAB 中的單個散點圖上繪製多個資料集

本教程將討論使用 MATLAB 中的 scatter() 函式和 hold on 命令在單個散點圖上繪製多個資料集。

在 MATLAB 中的單個散點圖上繪製多個資料集

Matlab 的 scatter() 函式將給定的資料集繪製為 2D 圖上的圓形或氣泡,scatter3() 函式將資料集繪製在 3D 圖上。我們還可以使用 scatter() 函式更改散點圖的圓圈或氣泡的許多屬性,例如它們的大小和顏色。

scatter()scatter3() 函式已在本網站上通過示例進行了討論,但我們僅繪製了關於該主題的單個資料集。在繼續之前,請檢查此連結以檢視該主題。

現在我們將討論如何在 Matlab 中的單個散點圖上繪製多個資料集。我們必須對每個資料集分別使用 scatter() 函式來將其繪製在散點圖上。

假設我們在 Matlab 中使用多個繪圖函式。在這種情況下,只有最後一個圖是可見的,因為最後一個圖將覆蓋所有其他圖,我們只會看到最後一個圖,但是我們可以使用 Matlab 的 hold on 命令禁用 Matlab 的這種行為。

每次繪製散點圖時,我們都必須使用 hold on 命令,除了第一個散點圖以將所有給定的資料集繪製在同一個圖上。

例如,讓我們在 Matlab 的同一個散點圖上建立並繪製兩個資料集。請參閱下面的程式碼。

clc
clear

x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
scatter(x,y)

x1 = linspace(0,4*pi,100);
y1 = sin(x) + rand(1,100);
hold on
scatter(x1,y1)
legend('scatter plot 1','scatter plot 2')

輸出:

多個散點圖

我們在上面的程式碼中繪製了第一個資料集,然後在繪製第二個資料集之前使用了 hold on 命令。我們還使用了 legend() 函式來顯示哪種顏色屬於哪個資料集。

legend() 函式的引數數量等於繪製在單個散點圖上的資料集數量。我們可以給每個資料集一個唯一的名稱,以將其與其他資料集區分開來。

如果我們在同一個散點圖上繪製多個資料集,Matlab 會給每個資料集一個不同的顏色,使它們彼此不同。我們可以在上面的輸出中看到兩個資料集都有不同的顏色,圖上的圖例根據顏色給出了資料集的資訊。

根據資料集,軸限制可以在多個散點圖中發生變化。所以我們不能設定軸限制,因為有些資料集可能很長,如果我們設定短軸限制,整個資料集將不會被覆蓋在圖上。

我們也可以使用 scatter3() 函式來繪製 3D 平面中的多個繪圖,就像我們使用 scatter() 函式一樣。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相關文章 - MATLAB Plot