matlab 画图函数plot
Matlab中plot函數(shù)全功能解析
功能
二維曲線繪圖
語法
plot(Y)
plot(X1,Y1,...)
plot(X1,Y1,LineSpec,...)
plot(...,'PropertyName',PropertyValue,...)
plot(axes_handle,...)
h = plot(...)
hlines = plot('v6',...)
描述
plot(Y)如果Y是m×n的數(shù)組,以1:m為X橫坐標(biāo),Y中的每一列元素為Y坐標(biāo),繪制n條曲線;如果Y是n×1或者1×n的向量,則以1:n為橫坐 標(biāo),Y為坐標(biāo)表繪制1條曲線;如果Y是復(fù)數(shù),則plot(Y)等效于plot(real(Y),imag(Y));其它使用情況下,忽略坐標(biāo)數(shù)據(jù)中的虛 部。
plot(X1,Y1,...)如果X和Y都是數(shù)組,按列取坐標(biāo)數(shù)據(jù)繪圖,此時(shí)它們必須具有相同的尺寸;如果X和Y其中一個(gè)是向量另一個(gè)為數(shù)組,X和Y中尺寸相等的方向?qū)?yīng)繪制多條曲線;如果X和Y其中一個(gè)是標(biāo)量另一個(gè)為向量,那么將繪制垂直X或者Y軸離散的點(diǎn)。
| X | Y |
| 備注 |
| m×n | m×n | 按列取坐標(biāo)數(shù)據(jù)繪制n條曲線 | X和Y必須具有相同的尺寸 |
| 1×n或n×1 | m×n或n×m | 自動(dòng)匹配尺寸相同方向繪制m條曲線 | 任意四種組合,效果一樣 |
| m×n或n×m | 1×n或n×1 | 同上 | 同上 |
| 1×1 | 1×n或n×1 | 繪制垂直X軸離散點(diǎn) | Y可以任意向量 |
| 1×n或n×1 | 1×1 | 繪制垂直Y軸離散點(diǎn) | X可以任意向量 |
plot(X1,Y1,LineSpec,...)通過參數(shù)LineSpec指定曲線的曲線屬性,它包括線型、標(biāo)記符和顏色。plot函數(shù)支持同時(shí)繪制任意組圖形
plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2,...)
此時(shí)完全等效于
plot(X1,Y1,LineSpec1,...)
hlod all
plot(X2,Y2,LineSpec2,...)
MATLAB中提供的線型屬性有:
| 線型 | 說明 | 標(biāo)記符 | 說明 | 顏色 | 說明 |
| - | 實(shí)線(默認(rèn)) | + | 加號(hào)符 | r | 紅色 |
| -- | 雙劃線 | o | 空心圓 | g | 綠色 |
| : | 虛線 | * | 星號(hào) | b | 藍(lán)色 |
| :. | 點(diǎn)劃線 | . | 實(shí)心圓 | c | 青綠色 |
|
|
| x | 叉號(hào)符 | m | 洋紅色 |
|
|
| s | 正方形 | y | 黃色 |
|
|
| d | 菱形 | k | 黑色 |
|
|
| ^ | 上三角形 | w | 白色 |
|
|
| v | 下三角形 |
|
|
|
|
| > | 右三角形 |
|
|
|
|
| < | 左三角形 |
|
|
|
|
| p | 五角星 |
|
|
|
|
| h | 六邊形 |
|
|
需要說明的是,LineSpec中設(shè)置曲線線型、標(biāo)識(shí)符和顏色三項(xiàng)屬性時(shí),控制符的順序不受限制并可以省略或者部分省略。也就是說'r-.*'、'-.r*'、'*-.r'等形式是等效的,都表示使用紅色點(diǎn)劃線連接各個(gè)節(jié)點(diǎn),各節(jié)點(diǎn)使用“*”標(biāo)識(shí)。
plot(...,'PropertyName',PropertyValue,...)設(shè)置由plot創(chuàng)建的所有曲線句柄對(duì)象的屬性,Line對(duì)象屬性和屬性值參見附錄,具體設(shè)置參考下面的實(shí)例,當(dāng)然可以使用set/get進(jìn)行設(shè)置。
plot(axes_handle,...)指定坐標(biāo)系,也就是在axes_handle坐標(biāo)系中繪圖,在沒有指定時(shí)默認(rèn)為gca。
h = plot(...)返回由plot創(chuàng)建的所有曲線句柄對(duì)象的句柄。每條曲線對(duì)應(yīng)一個(gè)句柄,如果有n條曲線,則h為n×1的數(shù)組。
注意
在同時(shí)繪制多條曲線時(shí),如果沒有指定曲線屬性,plot按順序循環(huán)使用當(dāng)前坐標(biāo)系中ColorOrder和LineStyleOrder兩個(gè)屬性。
默認(rèn)情況,MATLAB在每次調(diào)用plot函數(shù)時(shí)將ColorOrder和LineStyleOrder自動(dòng)重置為DefaultAxesColorOrder和DefaultAxesLineStyleOrder。Default**屬性我們可以自定義,有效期至MATLAB關(guān)閉,Matlab下次啟動(dòng)時(shí)將Default**屬性重置為廠家設(shè)置(Factory)
set(0,'DefaultAxesColorOrder',’r|g|b|k’,... ?'DefaultAxesLineStyleOrder','-|-.|--|:')
使用hold all命令可以阻止調(diào)用plot函數(shù)時(shí)自動(dòng)重置ColorOrder和LineStyleOrder屬性,而是循環(huán)使用。注意hold on只是使多次繪制的圖形疊加(相當(dāng)于NextPlot),但不能阻止屬性重置。
另外我們可以通過下面四個(gè)屬性設(shè)置標(biāo)識(shí)符的顏色和大小
LineWidth——指定線寬
MarkerEdgeColor——指定標(biāo)識(shí)符的邊緣顏色
MarkerFaceColor——指定標(biāo)識(shí)符填充顏色
MarkerSize——指定標(biāo)識(shí)符的大小
注意上面四個(gè)屬性是針對(duì)當(dāng)前坐標(biāo)系中所有曲線的
實(shí)例
% by dynamic
% see also?http://www.matlabsky.com
% 2009.8.20
%
X=1:10;
% 兩個(gè)都是數(shù)組,必須具有相同的尺寸
X1=[X;X;X]';×3
Y1=rand(10,3)+1;×3
% 其中一個(gè)為向量,另一個(gè)為數(shù)組,自動(dòng)匹配尺寸相等方向
X2=1:0.1:10;%1×91
Y2=[sin(X2);cos(X2)]';�×2
% 其中一個(gè)是標(biāo)量,另一為矢量,繪制垂直坐標(biāo)軸的離散點(diǎn)
X3=1:10;
Y3=-0.5;
fh=figure('numbertitle','off','name','PLOT Usability Demo');%創(chuàng)建figure對(duì)象
ah=axes;%創(chuàng)建axes對(duì)象
h=plot(...%返回所有曲線句柄
ah,...%指定坐標(biāo)系,可以省略,此時(shí)默認(rèn)gca
X1,Y1,...%坐標(biāo)數(shù)據(jù)
'-.^',...%曲線屬性,可以省略或部分省略,此時(shí)自動(dòng)選擇
X2,Y2,...
'm-',...
X3,Y3,...
'o',...%注意此組數(shù)據(jù)設(shè)置線型和顏色無效,因?yàn)槟J(rèn)繪制離散點(diǎn)
'LineWidth',2,...%線寬
'MarkerEdgeColor','k',...%標(biāo)識(shí)符邊緣顏色
'MarkerFaceColor','r',...%標(biāo)識(shí)符填充顏色
'MarkerSize',8)%標(biāo)識(shí)符大小
legend函數(shù)的基本用法是
LEGEND(string1,string2,string3, ...)
分別將字符串1、字符串2、字符串3……標(biāo)注到圖中,每個(gè)字符串對(duì)應(yīng)的圖標(biāo)為畫圖時(shí)的圖標(biāo)。
例如:
plot(x,sin(x),'.b',x,cos(x),'+r')
legend('sin','cos')這樣可以把"."標(biāo)識(shí)為'sin',把"+"標(biāo)識(shí)為"cos"
還可以用LEGEND(...,'Location',LOC)?來指定圖例標(biāo)識(shí)框的位置
這些是Matlab help文件。后面一段是對(duì)應(yīng)的翻譯和說明
????????'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
????????'North'?????????????圖例標(biāo)識(shí)放在圖頂端
????????'South'????????????圖例標(biāo)識(shí)放在圖底端
????????'East'???????????????圖例標(biāo)識(shí)放在圖右方
????????'West'??????????????圖例標(biāo)識(shí)放在圖左方
????????'NorthEast'???????圖例標(biāo)識(shí)放在圖右上方(默認(rèn))
????????'NorthWest??????圖例標(biāo)識(shí)放在圖左上方
????????'SouthEast'??????圖例標(biāo)識(shí)放在圖右下角
????????'SouthWest'?????圖例標(biāo)識(shí)放在圖左下角
(以上幾個(gè)都是將圖例標(biāo)識(shí)放在框圖內(nèi))
????????'NorthOutside'??????????圖例標(biāo)識(shí)放在圖框外側(cè)上方
????????'SouthOutside'?????????圖例標(biāo)識(shí)放在圖框外側(cè)下方
????????'EastOutside'???????????圖例標(biāo)識(shí)放在圖框外側(cè)右方
????????'WestOutside'??????????圖例標(biāo)識(shí)放在圖框外側(cè)左方
????????'NorthEastOutside'???圖例標(biāo)識(shí)放在圖框外側(cè)右上方
????????'NorthWestOutside'?圖例標(biāo)識(shí)放在圖框外側(cè)左上方
????????'SouthEastOutside'???圖例標(biāo)識(shí)放在圖框外側(cè)右下方
????????'SouthWestOutside'?圖例標(biāo)識(shí)放在圖框外側(cè)左下方
(以上幾個(gè)將圖例標(biāo)識(shí)放在框圖外)
????????'Best'??????????????????????圖標(biāo)標(biāo)識(shí)放在圖框內(nèi)不與圖沖突的最佳位置
????????'BestOutside'???????????圖標(biāo)標(biāo)識(shí)放在圖框外使用最小空間的最佳位置?
還是用上面的例子
legend('sin','cos','location','northwest')可以將標(biāo)識(shí)框放置在圖的左上角。
?
????Examples:
????????x = 0:.2:12;
????????plot(x,bessel(1,x),x,bessel(2,x),x,bessel(3,x));
????????legend('First','Second','Third');
????????legend('First','Second','Third','Location','NorthEastOutside')
????????b = bar(rand(10,5),'stacked'); colormap(summer); hold on
????????x = plot(1:10,5*rand(10,1),'marker','square','markersize',12,...
?????????????????'markeredgecolor','y','markerfacecolor',[.6 0 .6],...
?????????????????'linestyle','-','color','r','linewidth',2); hold off
????????legend([b,x],'Carrots','Peas','Peppers','Green Beans',...
??????????????????'Cucumbers','Eggplant')
總結(jié)
以上是生活随笔為你收集整理的matlab 画图函数plot的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: layui --- [结构优化]参数优
- 下一篇: matlab所有画图函数,matlab所