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