MATLAB画图——基础篇
MATLAB畫圖——基礎篇
在MATLAB使用的過程中,學會畫圖是一項必要的技能。在這里,我總結了部分簡單的畫圖函數,同時附上代碼(本文中的程序為了方便給出的數據都很簡單,大家可以自己去嘗試其他數據)。這對剛剛開始接觸MATLAB的小白來說,我認為還是很有幫助的。
文章目錄
- 一、plot()函數
- 1.二維圖形
- (1)繪圖選項
- (2)圖形的輔助標注和窗口的分割
- (3)格式
- 2.三維圖形
- (1)格式
- (2)網格矩陣生成函數:meshgrid
- (3)mesh函數
- (4)surf函數
- 二、特殊圖形
- 1.對數坐標圖
- 2.極坐標圖
- 3.條形圖
- 4.面積圖
- 5.餅狀圖
- 6.雙y軸
- 7.羅盤圖
- 8.羽毛圖
- 9.矢量圖
- 10.散點圖
- 總結
- 參考
一、plot()函數
1.二維圖形
(1)繪圖選項
| -實線 | b藍色 | .點 | s方塊 |
| :虛線 | g綠色 | o圓圈 | d菱形 |
| .-點劃線 | r紅色 | x叉 | v朝下三角符號 |
| -雙劃線 | c青色 | +加號 | ^朝上三角符號 |
| m品紅 | *星號 | <朝左三角符號 | |
| y黃色 | >朝右三角符號 | p五角星 | |
| k黑色 | h六角星 | ||
| w白色 |
(2)圖形的輔助標注和窗口的分割
title(圖形說明)
xlabel(x軸說明)
ylabel(y軸說明)
text(x,y圖形說明)——在x,y軸處添加文字說明
legend(圖例一,圖例二,…)
subplot(m,n,p)——將繪圖區域分割成m*n個子區域,并按照行從左至 右,從上至下依次編號。p表示第p個繪圖子區域。
注意:如果是要兩個圖畫到同一個坐標里面,則在兩個plot函數之間添加一行hold on
(3)格式
plot(x)——缺省自變量繪圖格式
plot(x,y)——基本格式。以y(x)的函數關系作圖。如果y是n*m的矩 陣,則x為自變量,作出m條曲線。
plot(x1,y1,x2,y2,…,xn,yn)——多條曲線繪圖格式
plot(x1,y1,選項1,x2,y2,選項2,…,xn,yn,選項n)——含選項的繪圖格式
2.三維圖形
(1)格式
plot3(x1,y1,z1,‘選項一’,x2,y2,z1,‘選項二’,…)
x,y,z是長度相同的向量:一條曲線
x,y,z是維度相同的矩陣:多條曲線
(2)網格矩陣生成函數:meshgrid
[X,Y]=meshgrid(x,y)
x,y是給定的向量,X,Y是網格劃分后得到的網格矩陣
注意,這個函數用來生成網格矩陣,不是直接用來畫圖的,配合mesh使用。
(3)mesh函數
mesh(X,Y,Z,C)
X,Y:網格坐標矩陣
Z:網格點上的高度矩陣
C:確定不同高度下的顏色范圍
meshc:在mesh基礎上增加等高線。
meshz:在mesh基礎上增加底座。
(4)surf函數
surf(X,Y,Z,C)——繪制由矩陣X,Y,Z確定的著色的三維表面圖,參數含義同mesh
surfc——與surf相同,在此基礎上增加等高線
surfl——與surf相同,在此基礎上增加光照效果
注意:使用surfl的時候,C為一個二維或者三維向量。表示光源與曲面之間的方位。
二、特殊圖形
1.對數坐標圖
semilogx(x,y):x軸對數刻度,y軸線性刻度。
semilogy(x,y):x軸線性刻度,y軸對數刻度。
loglog(x,y):x,y都是對數刻度。
2.極坐標圖
polarplot (x,y): 在極坐標中繪制線條
polarscatter (x,y):極坐標中的散點圖
polarhistogram (x,y) : 極坐標中的直方圖(y為一個整數)
compass (x,y): 繪制從原點發射出的箭頭
ezpolar (‘函數’):易用的極坐標繪圖函數
3.條形圖
bar(y)——若y為向量,則分別顯示每個分量的高度。若為矩陣,則把y分解為行向量,在分別畫出。
bar(x,y)——在指定的橫坐標x上畫出y。x為單增向量。
bar(…,width)——設置條形的相對寬度和控制在一組內條形的間距,默認值為0.8。
bar(…,‘style’)——指定條形的排列類型。類型有“group”和“stack”。
group:若y為n*m矩陣,則bar顯示n組,每組m個條形圖
stack:對矩陣的每一個行向量顯示在一個條形中,條形的高度為該行向量中的分量和,其中同一條形中的每個向量用不同的顏色顯示出來,從而可以顯示每個向量中的分布。
三維格式為bar3
x=[0.1 0.2 0.3 0.4]; y=[0.1 1.1 5.4 3.4 2.3 4.5 3.2 3.4 5.6]; c=x+x'; subplot(2,2,1);bar(c);title('例一'); subplot(2,2,2);bar(x,c);title('例二'); subplot(2,2,3);bar(x,c,1);title('例三'); subplot(2,2,4);bar(x,c,'stack');title('例四');4.面積圖
area(x)——與plot(x)一樣,但是將所得的曲線下方的區域填充顏色。
area(x,y)——y為向量,與plot(x,y)一樣,但是將所得的曲線下方的區域填充顏色。
area(x,A)——矩陣A的第一行對向量x繪圖,然后依次是下一行所有行值的和對向量x繪圖,每個區域有各自的顏色。
area(…,leval)——將填色部分改為由連線圖到y=leval的水平之間的部分。
5.餅狀圖
pie(x)——用x中的數據畫一個餅狀圖。x中的每一個元素代表餅狀圖中的一部分。
pie(x,explode)——從餅狀圖中分離出一部分,explode是與x同維的矩陣。當所有元素為零時,餅狀圖各部分連一起組成一個圓。當其中有非零元時,元素對應的扇形往外移。
三維格式為pie3
x=[0.1 0.2 0.3 0.4]; y=[0 1 0 1]; subplot(2,1,1);pie(x);title('例一'); subplot(2,1,2);pie(x,y);title('例二');6.雙y軸
yyaxis left——坐標軸在左邊
yyaxis right——坐標軸在右邊
7.羅盤圖
compass(x,y)——x,y為n維向量
compass(z)——z為n維復數向量
compass(x,y,選項)——選項為箭頭的顏色,線型等。
8.羽毛圖
feather函數
用法與羅盤圖相同
9.矢量圖
quiver(u,v)——v為mn矩陣,繪出在范圍x=1:n,y=1:m的坐標系中由u和v定義的向量
quiver(x,y,u,v)——x為n維向量,y為m維向量。u和v為mn維矩陣。則畫出由x,y確定的每一個由u和v定義的向量。
quiver(…,scale)——對向量的長度進行處理。
10.散點圖
scatter(x,y)——x,y為向量,且長度相同。
scatter(x,y,sz)——sz標記面積,默認36。
scatter(x,y,sz,c)——c標記顏色。
總結
本文參考了很多其他的文章,這也是我第一次寫,有寫的不好的地方希望大家多提提意見。另外,本文也是當成筆記來寫的,因此有一些地方寫的很簡潔,希望大家多多包涵。
參考
1.MATLAB中特殊圖形的繪制
2.使用matlab繪制條形圖、面積圖、餅圖、柱狀圖
3.【MATLAB】MATLAB 可視化之極坐標圖
4.MATLAB 畫圖,對數坐標軸
5.數學建模之MATLAB畫圖匯總
6.Matlab繪圖方法整理(超完整版)
7.如何使用Matlab繪制各類特殊圖形
總結
以上是生活随笔為你收集整理的MATLAB画图——基础篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java做绿色数字雨_数字雨
- 下一篇: 关于ob函数的使用和应用场景