一、基礎繪圖函數
在matlab中,基礎的二維圖繪製函數有plot、scatter、stem等。其中,plot函數可以繪製折線圖、曲線圖、散點圖等,通過設置參數可以更改顏色、線型、線寬等,如下面代碼所示:
x = linspace(-pi,pi,100);
y1 = sin(x);
y2 = cos(x);
plot(x,y1,'r--','LineWidth',2);
hold on;
plot(x,y2,'b:','LineWidth',2);
xlabel('x');
ylabel('y');
title('plot函數繪製的正弦和餘弦曲線');
legend('y1=sin(x)','y2=cos(x)');
上述代碼通過linspace生成x軸坐標,通過sin和cos函數生成y軸坐標,然後使用plot函數進行繪製。其中,’r–‘和’b:’分別代表紅色虛線和藍色點線的線型,’LineWidth’參數代表線寬,’hold on’表示在同一圖中繪製多個圖形,’xlabel’和’ylabel’設置x軸、y軸的標籤,’title’設置圖形的標題,’legend’用於標註圖線的含義。
scatter函數可以繪製散點圖,與plot函數類似,可以通過設置參數修改顏色、大小、形狀等,如下所示的代碼:
x = rand(1,100);
y = rand(1,100);
size = 30*rand(1,100);
color = rand(1,100);
scatter(x,y,size,color,'filled');
xlabel('x');
ylabel('y');
title('scatter函數繪製的散點圖');
上述代碼通過rand函數生成x、y坐標和大小、顏色參數,然後使用scatter函數繪製。其中,’filled’表示填充散點,’xlabel’和’ylabel’設置x軸、y軸的標籤,’title’設置圖形的標題。
二、高級繪圖函數
除了基礎繪圖函數外,matlab還提供了許多高級繪圖函數,如contour、quiver、surf等。這些函數可以繪製等高線圖、矢量圖、三維曲面圖等,可以更直觀地顯示數據。
contour函數可繪製二維等高線圖,代碼示例如下:
[X,Y] = meshgrid(-2:.2:2,-2:.2:2);
Z = X.*exp(-X.^2-Y.^2);
contour(X,Y,Z);
xlabel('x');
ylabel('y');
title('contour函數繪製的等高線圖');
上述代碼中,meshgrid函數生成x、y矩陣,用於表示坐標點。Z表示對應每個坐標點的高度,通過contour函數繪製等高線圖。’xlabel’和’ylabel’設置x軸、y軸的標籤,’title’設置圖形的標題。
quiver函數可繪製矢量圖,用於表示數據的方向和大小,代碼示例如下:
x = linspace(-2*pi,2*pi,20);
y = linspace(-2*pi,2*pi,20);
[X,Y] = meshgrid(x,y);
u = cos(X).*sin(Y);
v = sin(X);
quiver(X,Y,u,v);
xlabel('x');
ylabel('y');
title('quiver函數繪製的矢量圖');
上述代碼中,meshgrid函數生成x、y矩陣,用於表示坐標點。u、v表示對應每個坐標點的矢量大小,在quiver函數中繪製。’xlabel’和’ylabel’設置x軸、y軸的標籤,’title’設置圖形的標題。
surf函數可繪製三維曲面圖,代碼示例如下:
[X,Y] = meshgrid(-2:.2:2,-2:.2:2);
Z = X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
xlabel('x');
ylabel('y');
zlabel('z');
title('surf函數繪製的三維曲面圖');
上述代碼中,meshgrid函數生成x、y矩陣,用於表示坐標點。Z表示對應每個坐標點的高度,通過surf函數繪製三維曲面圖。’xlabel’、’ylabel’、’zlabel’設置x軸、y軸、z軸的標籤,’title’設置圖形的標題。
三、繪製特殊圖形
在matlab中,還可以使用一些繪圖函數繪製特殊圖形,如餅圖、雷達圖、極坐標圖等。
餅圖可以用pie函數繪製,代碼示例如下:
data = [20 30 40 10];
pie(data);
title('pie函數繪製的餅圖');
上述代碼中,data表示每個扇形的數據大小,通過pie函數繪製。’title’設置圖形的標題。
雷達圖可以用polarplot函數繪製,代碼示例如下:
theta = linspace(0,2*pi,6);
data = [1 3 2 4 5];
polarplot(theta,data);
title('polarplot函數繪製的雷達圖');
上述代碼中,theta表示扇形角度,data表示每個角度的數據大小,通過polarplot函數繪製。’title’設置圖形的標題。
極坐標圖可以用polaraxes函數繪製,先使用polaraxes函數創建極坐標軸,再使用plot、scatter等函數進行繪製,代碼示例如下:
theta = linspace(0,2*pi,50);
rho = 2*sin(2*theta).*cos(2*theta);
ax = polaraxes();
scatter(ax,theta,rho);
title('polaraxes函數繪製的極坐標圖');
上述代碼中,theta表示角度,rho表示對應角度的數據大小,通過polaraxes函數創建極坐標軸,再使用scatter函數在極坐標繫上繪製散點圖。’title’設置圖形的標題。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/304522.html