Matlab中的画图函数
目錄
一、二維曲線和圖形
1、二維圖像基本命令plot
(1). 曲線線型、顏色和標記點類型
(2). 設置曲線線寬、標記點大小,標記點邊框顏色和標記點填充顏色等。
(3). 坐標軸設置
(4). 坐標軸刻度設置
(5). 圖例
(6). 更多的設置
二、 圖形的控制與表現?
1.圖形窗口
(1). 圖形窗口的創建和選擇
(2). 在一個圖形窗口中繪制多個子圖形
(3). 在一個已有的圖形上繪圖
2.坐標軸控制命令
(1) 坐標軸的范圍
(2) 顯示比例對繪圖結果的影響
3.圖形標注
(1). 加注坐標軸標識和圖形標題
(2). 圖中加注文本
(3). 指定TeX字符
(4). 在圖形中添加圖例框
4. 圖線形式和顏色
(1). 圖線的形式
(2). 線的顏色
(3). 圖線的其他屬性
??? 之前在進行Matlab編程時,畫圖總是非常重要的一部分,在這里整理一下常用的繪圖函數,以作備用。
一、二維曲線和圖形
??? MATLAB提供了多種二維圖形的繪制命令
| 命令名 | 含義和功能 |
| area | 面域圖;主要用于表現比例、成分 |
| bar | 直方圖;主要用于統計數據 |
| compass | 射線圖;主要用于方向和速度 |
| feather | 羽毛圖;主要用于速度 |
| hist | 頻數直方圖;主要用于統計 |
| pie | 二維餅圖;統計數據極坐標形式 |
| plot | 基本二維曲線圖形指令 |
| polar | 以極坐標繪制曲線 |
| quiver | 二維箭頭圖;主要用于場強、流向 |
| rose | 頻數扇形圖;主要用于統計 |
| stairs | 階梯圖;主要用于采樣數據 |
| stem | 二維桿圖;主要用于離散數據 |
1、二維圖像基本命令plot
? ? 基本調用格式plot(x,y,'s')
??? 這是plot命令最經典、最基本的調用格式。該命令的輸入量(x,y,'s')稱為平面繪圖三元組。他們分別指定平面曲線的幾何位置、點形、線型和色彩。
(1). 曲線線型、顏色和標記點類型
? ? plot(X1,Y1,LineSpec, …) 通過字符串LineSpec指定曲線的線型、顏色及數據點的標記類型。
| 符號 | 意義 |
| - | 實線 |
| r | 紅色 |
| + | 加號 |
| -. | 點劃線 |
| g | 綠色 |
| o | 圓圈 |
| -- | 虛線 |
| b | 藍色 |
| * | 星號 |
| : | 點線 |
| c | 藍綠色 |
| . | 點 |
| m | 洋紅色 |
| x | 交叉符號 |
| y | 黃色 |
| s | 方格 |
| k | 黑色 |
| d | 菱形 |
| w | 白色 |
| ^ | 向上的三角形 |
| > | 向左的三角形 |
| <?????? | 向右的三角形? |
| p | 五邊形 |
| h | 六邊形 |
?
(2). 設置曲線線寬、標記點大小,標記點邊框顏色和標記點填充顏色等。
plot(…,’Property Name’, Property Value, …)
| Property Name | 意義 | 選項 |
| LineWidth | 線寬 | 如0.5,1等,單位為points |
| MarkerEdgeColor | 標記點邊框線條顏色 | 顏色字符,如’g’, ’b’等 |
| MarkerFaceColor | 標記點內部區域填充顏色 | 顏色字符 |
| MarkerSize | 標記點大小 | 數值,單位為points |
(3). 坐標軸設置
范圍設置:
a. axis([xmin xmax ymin ymax])設置坐標軸在指定的區間
b. axis auto 將當前繪圖區的坐標軸范圍設置為MATLAB自動調整的區間
c. axis manual 凍結當前坐標軸范圍,以后疊加繪圖都在當前坐標軸范圍內顯示
d. axis tight 采用緊密模式設置當前坐標軸范圍,即一用戶數據范圍為坐標軸范圍
比例設置:
a. axis equal 等比例坐標軸
b. axis square 以當前坐標軸范圍為基礎,將坐標軸區域調整為方格形
c. axis normal 自動調整縱橫軸比例,使當前坐標軸范圍內的圖形顯示達到最佳效果
范圍選項和比例設置可以聯合使用,默認的設置為axis auto normal
(4). 坐標軸刻度設置
set(gca, ’XTick’, [0 1 2]) X坐標軸刻度數據點位置
set(gca,'XTickLabel',{'a','b','c'}) X坐標軸刻度處顯示的字符
set(gca,'FontName','Times New Roman','FontSize',14)?設置坐標軸刻度字體名稱,大小
‘FontWeight’,’bold’ 加粗 ‘FontAngle’,’italic’ 斜體
對字體的設置也可以用在title, xlabel, ylabel等中
(5). 圖例
legend('a','Location','best') 圖例位置放在最佳位置
用Matlab畫圖時,有時候需要對各種圖標進行標注,例如,用“+”代表A的運動情況,“*”代表B的運動情況。
legend函數的基本用法是
legend(string1,string2,string3, ...)
分別將字符串1、字符串2、字符串3……標注到圖中,每個字符串對應的圖標為畫圖時的圖標。
例如:
plot(x,sin(x),'.b',x,cos(x),'+r')legend('sin','cos')這樣可以把"."標識為'sin',把"+"標識為"cos"
還可以用legend(...,'Location',LOC) 來指定圖例標識框的位置
這些是Matlab help文件。后面一段是對應的翻譯和說明:
| 參數 | 英文說明 | 中文說明 |
| 'North' ? ? ? | inside plot box near top | 圖例標識放在圖頂端 |
| 'South' | inside bottom | 圖例標識放在圖底端 |
| 'East' | inside right | 圖例標識放在圖右方 |
| 'West' | inside left | 圖例標識放在圖左方 |
| 'NorthEast' | inside top right (default) | 圖例標識放在圖右上方(默認) |
| 'NorthWest ? ? ? ? ? | inside top left | 圖例標識放在圖左上方 |
| 'SouthEast' | inside bottom right | 圖例標識放在圖右下角 |
| 'SouthWest' | inside bottom left | 圖例標識放在圖左下角 |
| 'NorthOutside' ? ? ? | outside plot box near top | 圖例標識放在圖框外側上方 |
| 'SouthOutside' ? ? ? | outside bottom | 圖例標識放在圖框外側下方 |
| 'EastOutside' ? ? ? ? | outside right | 圖例標識放在圖框外側右方 |
| 'WestOutside' ? ? ? ? | outside left | 圖例標識放在圖框外側左方 |
| 'NorthEastOutside' ? | outside top right | 圖例標識放在圖框外側右上方 |
| 'NorthWestOutside' ? | outside top left | 圖例標識放在圖框外側左上方 |
| 'SouthEastOutside' ? | outside bottom right | 圖例標識放在圖框外側右下方 |
| 'SouthWestOutside' ? | outside bottom left | 圖例標識放在圖框外側左下方 |
| 'Best' ? ? ? ? ? ? ? | least conflict with data in plot | 圖標標識放在圖框內不與圖沖突的最佳位置 |
| 'BestOutside' ? ? ? | ?least unused space outside plot | 圖標標識放在圖框外使用最小空間的最佳位置 |
還是用上面的例子
legend('sin','cos','location','northwest')可以將標識框放置在圖的左上角。
示例代碼:
x = 0:.2:12;plot(x,sin(x),x,cos(x),x,tan(x));legend('First','Second','Third');legend('First','Second','Third','Location','NorthEastOutside')?
b = bar(rand(10,5),'stacked'); colormap(summer); hold onx = plot(1:10,5*rand(10,1),'marker','square','markersize',12,...'markeredgecolor','y','markerfacecolor',[.6 0 .6],...'linestyle','-','color','r','linewidth',2); hold offlegend([b,x],'Carrots','Peas','Peppers','Green Beans',...'Cucumbers','Eggplant') x = -pi:pi/10:pi;y = tan(sin(x)) - sin(tan(x));plot(x,y,'--rs','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10)xlabel('x');ylabel('y');·? ?
(6). 更多的設置
可以在繪圖窗口中打開繪圖工具,Inspector… 中查找
二、 圖形的控制與表現?
MATLAB提供的用于圖形控制的函數和命令:
axis: 人工選擇坐標軸尺寸.
clf:清圖形窗口.
ginput: 利用鼠標的十字準線輸入.
hold: 保持圖形.
shg:顯示圖形窗口.
subplot: 將圖形窗口分成N塊子窗口。
1.圖形窗口
(1). 圖形窗口的創建和選擇
figure(n):用于為當前的繪圖創建圖形窗口,每運行一次figure就會創建一個新的圖形窗口,n表示第n個窗口,如果窗口定義了句柄,也可以用figure(h)將句柄h的窗口作為當前窗口。
clf:用于清除當前圖形窗口中的內容。
shg:用于顯示當前圖形窗口。
(2). 在一個圖形窗口中繪制多個子圖形
subplot(m,n,p):把窗口分成m×n個小窗口,并把第p個窗口當作當前窗口。
例:將4 個圖形顯示在同一個圖形窗口中。
(3). 在一個已有的圖形上繪圖
?
hold on:在一個已有的圖形上繼續繪圖;
hold off: 命令結束繼續繪圖。
例:將peaks函數的等高線圖與偽彩色畫在一起。
?
2.坐標軸控制命令(Axis control commands)
?? 控制坐標性質的axis函數的多種調用格式:
axis(xmin xmax ymin ymax) :指定二維圖形x和y軸的刻度范圍,
axis auto? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?:設置坐標軸為自動刻度(缺省值)
axis manual(或axis(axis))?:保持刻度不隨數據的大小而變化
axis tight? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?:以數據的大小為坐標軸的范圍
axis ij? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? :設置坐標軸的原點在左上角,i為縱坐標,j為橫坐標
axis xy? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?:使坐標軸回到直角坐標系
axis equal? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??:使坐標軸刻度增量相同
axis square? ? ? ? ? ? ? ? ? ? ? ? ? ? ??:使各坐標軸長度相同,但刻度增量未必相同
axis normal? ? ? ? ? ? ? ? ? ? ? ? ? ? ??:自動調節軸與數據的外表比例,使其他設置失效
axis off? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?:使坐標軸消隱
axis on? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?:顯現坐標軸
(1) 坐標軸的范圍
二維圖形坐標軸范圍在缺省狀態下是根據數據的大小自動設置的,如欲改變,可利用axis(xmin xmax ymin ymax)函數來定義。
例: 定義坐標軸范圍對觀察圖形的影響。
(2) 顯示比例對繪圖結果的影響(Effect of display scaling on plotting results)
例:比較(Default, axis square, axis equal, axis tight)幾種不同的顯示方式的顯示效果。
?
3.圖形標注
title? ? ?:標題,
xlabel :x軸標注,
ylabel :y軸標注,
text? ? ?:任意定位的標注 ?????????????????????
gtext? ?:鼠標定位標注,
legent :標注圖例
圖形標注可以使用字母,數字,漢字或按規定的方法表示希臘字母。如:pi表示π,leq表示≤,rm表示后面的字恢復為正體字,it表示斜體字,FontSize表示字體的大小, FontName表示字體的類型等。
可以使用圖形窗口的Insert菜單,也可以使用屬性編輯器,還可以使用函數輸入的方法加標注,以下介紹相關函數的使用方法。
(1). 加注坐標軸標識和圖形標題
加注坐標軸標識:xlabel(‘s’), ylabel(‘s’)
圖形標題? ? ? ? ? ?:?? title(‘s’)
例:加注坐標軸標示和圖形標題。
(2). 圖中加注文本(Add text in the figure)
?
text(x,y,’字符串’)
例:在上圖中加語句。
?
句中:
leftarrow ?????? ?? 表示加一個向左的箭頭
rightarrow ???????? 表示加一個向右的箭頭
HorizontalAlignment 表示右對齊水平排列
?
gtext('字符串'): 在圖形窗口上用鼠標直接在指定的位置上加注文本。
例:
t=0:pi/100:2*pi; y=sin(t); plot(t,y) axis([0 2*pi,-1 1]) xlabel('0 leq itt rm leq pi','FontSize',16) ylabel('sin(t)','FontSize',20) title('正弦函數圖形','FontName','隸書','FontSize',20) gtext('MATLAB')
?
(3). 指定TeX字符
例:在標題中指定TeX字符
?
在title中的字符串表現的是 Aeαt ? sinβt ? α<<β
斜體Ae 上標斜體αt 斜體βt 斜體α ?斜體β
?
(4). 在圖形中添加圖例框
legend(字符串1,字符串2,…)
例:在當前圖形中添加圖例說明。
4. 圖線形式和顏色
(1). 圖線的形式: (style of plot)
四種線形? ??: 實線'-',虛線'--', 點線':',點劃線'-'.
標記點類型:點'.', 圓'o', 加號'+', 星號'*', x符號'x', 方形's', 菱形'd', hexagram 'h',上三角△ '^', 下三角▽ 'v', 左三角'<', 右三角'>', 正五邊形'p'
命令:plot(x,y,'—'), plot(x1,y1,':’,x2,y2,'*')
例1:選擇不同的線形繪圖。 ???
例2:選擇不同的標記點繪圖。
?
(2). 線的顏色(color of plot)
可選顏色: 紅r,綠g, 藍b, 黃y, 粉紅m, 青c, 黑k.
例:
(3). 圖線的其他屬性(other characters of plot)
設置圖線的寬度? ? :?'LineWidth'
標記點的邊緣顏色: 'MarkerEdgeColor'
填充顏色? ? ? ? ? ? ? :?'MarkerFaceColor'
標記點的大小? ? ? ?: 'MarkerSize'
例: 設置圖線的線形、顏色、寬度、標記點的顏色及大小。
t=0:pi/20:pi; y=sin(4*t).*sin(t)/2; plot(t,y,'-bs','LineWidth',2,'MarkerEdgeColor','k', 'MarkerFaceColor', 'y','MarkerSize',10);總結
以上是生活随笔為你收集整理的Matlab中的画图函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学符号历史
- 下一篇: android 设置线程优先级