功能
二维曲线绘图
语法
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的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线;如果Y是n×1或者1×n的向量,则以1:n为横坐标,Y为坐标表绘制1条曲线;如果Y是复数,则plot(Y)等效于plot(real(Y),imag(Y));其它使用情况下,忽略坐标数据中的虚部。
plot(X1,Y1,...)如果X和Y都是数组,按列取坐标数据绘图,此时它们必须具有相同的尺寸;如果X和Y其中一个是向量另一个为数组,X和Y中尺寸相等的方向对应绘制多条曲线;如果X和Y其中一个是标量另一个为向量,那么将绘制垂直X或者Y轴离散的点。
X |
Y |
|
备注 |
m×n |
m×n |
按列取坐标数据绘制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,...)通过参数LineSpec指定曲线的曲线属性,它包括线型、标记符和颜色。plot函数支持同时绘制任意组图形
plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2,...)
此时完全等效于
plot(X1,Y1,LineSpec1,...)
hlod all
plot(X2,Y2,LineSpec2,...)
MATLAB中提供的线型属性有:
线型 |
说明 |
标记符 |
说明 |
颜色 |
说明 |
- |
实线(默认) |
+ |
加号符 |
r |
红色 |
-- |
双划线 |
o |
空心圆 |
g |
绿色 |
: |
虚线 |
* |
星号 |
b |
蓝色 |
:. |
点划线 |
. |
实心圆 |
c |
青绿色 |
|
|
x |
叉号符 |
m |
洋红色 |
|
|
s |
正方形 |
y |
黄色 |
|
|
d |
菱形 |
k |
黑色 |
|
|
^ |
上三角形 |
w |
白色 |
|
|
v |
下三角形 |
|
|
|
|
> |
右三角形 |
|
|
|
|
< |
左三角形 |
|
|
|
|
p |
五角星 |
|
|
|
|
h |
六边形 |
|
|
需要说明的是,LineSpec中设置曲线线型、标识符和颜色三项属性时,控制符的顺序不受限制并可以省略或者部分省略。也就是说\'r-.*\'、\'-.r*\'、\'*-.r\'等形式是等效的,都表示使用红色点划线连接各个节点,各节点使用“*”标识。
plot(...,\'PropertyName\',PropertyValue,...)设置由plot创建的所有曲线句柄对象的属性,Line对象属性和属性值参见附录,具体设置参考下面的实例,当然可以使用set/get进行设置。
plot(axes_handle,...)指定坐标系,也就是在axes_handle坐标系中绘图,在没有指定时默认为gca。
h = plot(...)返回由plot创建的所有曲线句柄对象的句柄。每条曲线对应一个句柄,如果有n条曲线,则h为n×1的数组。
注意
在同时绘制多条曲线时,如果没有指定曲线属性,plot按顺序循环使用当前坐标系中ColorOrder和LineStyleOrder两个属性。
默认情况,MATLAB在每次调用plot函数时将ColorOrder和LineStyleOrder自动重置为DefaultAxesColorOrder和DefaultAxesLineStyleOrder。Default**属性我们可以自定义,有效期至MATLAB关闭,Matlab下次启动时将Default**属性重置为厂家设置(Factory)
set(0,\'DefaultAxesColorOrder\',’r|g|b|k’,...
\'DefaultAxesLineStyleOrder\',\'-|-.|--|:\')
使用hold all命令可以阻止调用plot函数时自动重置ColorOrder和LineStyleOrder属性,而是循环使用。注意hold on只是使多次绘制的图形叠加(相当于NextPlot),但不能阻止属性重置。
另外我们可以通过下面四个属性设置标识符的颜色和大小
LineWidth——指定线宽
MarkerEdgeColor——指定标识符的边缘颜色
MarkerFaceColor——指定标识符填充颜色
MarkerSize——指定标识符的大小
注意上面四个属性是针对当前坐标系中所有曲线的
实例
% by dynamic
% see also http://www.matlabsky.com
% 2009.8.20
%
X=1:10;
% 两个都是数组,必须具有相同的尺寸
X1=[X;X;X]\';%10×3
Y1=rand(10,3)+1;%10×3
% 其中一个为向量,另一个为数组,自动匹配尺寸相等方向
X2=1:0.1:10;%1×91
Y2=[sin(X2);cos(X2)]\';%91×2
% 其中一个是标量,另一为矢量,绘制垂直坐标轴的离散点
X3=1:10;
Y3=-0.5;
fh=figure(\'numbertitle\',\'off\',\'name\',\'PLOT Usability Demo\');%创建figure对象
ah=axes;%创建axes对象
h=plot(...%返回所有曲线句柄
ah,...%指定坐标系,可以省略,此时默认gca
X1,Y1,...%坐标数据
\'-.^\',...%曲线属性,可以省略或部分省略,此时自动选择
X2,Y2,...
\'m-\',...
X3,Y3,...
\'o\',...%注意此组数据设置线型和颜色无效,因为默认绘制离散点
\'LineWidth\',2,...%线宽
\'MarkerEdgeColor\',\'k\',...%标识符边缘颜色
\'MarkerFaceColor\',\'r\',...%标识符填充颜色
\'MarkerSize\',8)%标识符大小
matlab plot语句在绘图时能不能标出特定(几个)点的值?
matlab plot语句在绘图时能不能标出特定(几个)点的值?比如y=sin(x),在x=pi/2和x=0.75pi这两个点标出y的值
x = linspace(0,2*pi,1000);
y = sin(x);
hold on;
plot(x,y,\'k-\');
posx = [pi/2 0.75*pi];
posy = sin(posx);
for i = 1:size(posx,2)
text(posx(i),posy(i),num2str(posy(i)));
end
* text(x,y,[num2str(x),\',\',num2str(y)])
matlab怎样标记函数曲线上的指定间隔点
有一函数,由20个点绘制成,但想标出等间隔的5个点即可
t = 1:20;
f = t.^2;
tt = linspace(1,20,5);
ff = tt.^2;
hold on;
plot(t,f);
plot(tt,ff,\'ro\');
hold off;
如何对matlab画出的曲线中的定点进行打标记(并进行标记)
思路:使用plot()函数将定点绘制出来,并且设置点的样式;如果需要文字标记的话,使用text()函数进行注释。
下面给出具体的示例:画出正弦函数在[0,2π]区间的曲线,同时标注出x=π/4的点。
1、计算曲线上的散点并绘图
打开matlab,在命令窗口输入如下代码:
>> x=0:pi/20:pi; % x在[0,2π]均匀取值
>> y=sin(x); % 正弦曲线y坐标
>> plot(x,y,\'b\') % 绘制正弦曲线
>> x0=pi/4; % x=π/4的点
>> y0=sin(x0); % x=π/4的点
2、标记定点
继续使用plot()函数,将定点加入到绘图窗口:
>> hold on % 禁止刷新图形,使新加的点可以绘制在前面的图形上
>> plot(x0,y0,\'rs\') % 绘制x=π/4处的定点,参数\'rs\'表示点的样式为红色正方形
3、添加文字说明
>> text(x0,y0,[\'P(\' num2str(x0) \',\' num2str(y0) \')\'])
matlab中怎样在坐标轴上添加文字
比如说要标个单位,或者文字说明什么的
简单例子:
x=0:0.1:10;
y=x.^2;
plot(x,y);
xlabel(\'x坐标(可任意写)\');
ylabel(\'y坐标\');
text(2.5,6,\'可任意放\');