随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)
绘制2维图形
语法
plot(Y)
plot(X1,Y1,...)
plot(X1,Y1,LineSpec,...)
plot(...,'PropertyName',PropertyValue,...)
plot(axes_handle,...)
h = plot(...)
hlines = plot('v6',...)
描述
1、plot(Y):表示如果Y是一个实数,则绘制Y的列与它的索引。如果Y是一个复数,plot(Y)等价于plot(real(Y),imag(Y))。在所有plot的其他用法中,虚分量是被忽略的。
2、plot(X1,Y1,...):绘制所有被Xn和Yn所定义的线。如果仅仅只有Xn或者Yn是一个矩阵,这向量与矩阵的行或列被绘制,这取决于是否向量的行或列的大小与矩阵是否匹配。
3、plot(X1,Y1,LineSpec,...):根据Xn、Yn和LineSpec绘制所有的线,其中LineSpec是线的规格,确定线的类型,标记符号和被绘制线的颜色。你可以将Xn、Yn、LineSpec三元和Xn、Yn两元进行混合使用:plot(X1,Y1,X2,Y2,LineSpec,X3,Y3)。
4、plot(...,'PropertyName',PropertyValue,...):为所有 lineseries图像对象设置指定属性值
5、plot(axes_handle,...):用指定句柄的坐标轴代替当前坐标轴。
6、h = plot(...):返回 lineseries图像对象句柄的列向量,每行一个句柄。
向后兼容版本
hlines = plot('v6',...):返回line对象的句柄而不是lineseries对象的句柄。
备注
当绘制多行时,如果你没有指定一个颜色,那么 plot将自动按照当前坐标轴的 ColorOrder 属性所指定的次序循环所有颜色。循环完ColorOrder所指定的所有颜色后, plot将循环在坐标轴LineStyleOrder属性所指定的线的样式。默认的LineStyleOrder属性有一个单入口(一个没有标记的实线)。
Cycling Through Line Colors and Style
默认地,MATLAB在你每次调用 plot时都会出重置ColorOrder 属性和LineStyleOrder属性。如果你想让你自己所做的改变一直保留在属性中,那么你必须把这些改变定义为默认值。例如:
set(0,'DefaultAxesColorOrder',[0 0 0],...
'DefaultAxesLineStyleOrder','-|-.|--|:')
设置默认的ColorOrder 属性是只能使用黑色,设置默认的LineStyleOrder属性是可以使用实线、点划线、虚线和点线样式。
使用hold all防止颜色和样式被重置
hold命令的all选项可以防止 在后续plot命令中ColorOrder 和LineStyleOrder属性被重置。MATLAB继续循环坐标轴ColorOrder属性所定义的颜色。
plot(rand(12,2))
hold all
plot(randn(12,2))
更多信息
关于plotting的更多信息参见 Creating Line Plots 和 Annotating Graphs。
关于指定线的颜色和样式的更多信息参见 LineSpec。
示例
指定标记的颜色和尺寸
使用 graphics properties你也可以指定其他特征。
LineWidth --指定线宽
MarkerEdgeColor --指定标记的颜色或者被填充的标记的边缘颜色(圆形,方形,菱形,五角星,六角星形,和四个三角形)。
MarkerFaceColor --指定填充标记物的面的颜色
MarkerSize --用点的单位指定标记的尺寸
例如,下面语句
x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));
plot(x,y,'--rs','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10)
然后会产生下面的图形:
Specifying Tick-Mark Location and Labeling
你可以调整坐标轴上每一个 tick的 tick-mark位置和标注,例如:
x = -pi:.1:pi;
y = sin(x);
plot(x,y)
set(gca,'XTick',-pi:pi/2:pi)
set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'})
Now add axis labels and annotate the point -pi/4, sin(-pi/4).
增加标题、坐标轴标记和注释
MATLAB可以增加坐标轴的标注和标题。例如,从先前的例子中使用图像,增加x和y轴标注
xlabel('-\pi \leq \Theta \leq \pi')
ylabel('sin(\Theta)')
title('Plot of sin(\Theta)')
text(-pi/4,sin(-pi/4),'\leftarrow sin(-\pi\div4)',...
'HorizontalAlignment','left')
现在通过找到被plot创建的线对象的句柄,来改变线的颜色为红色,然后设置颜色属性,设置宽度属性为2.
set(findobj(gca,'Type','line','Color',[0 0 1]),...
'Color','red',...
'LineWidth',2)