标签:
plot函数用于绘图
①最简单的matlab绘图即为plot(x,y)
例如:
x=0:50;
y=0:50;
plot(x,y)
②复杂点的,在一个坐标系中绘制出多条曲线。
x1=0:50;
y1=0:50;
y2=2*x1;
plot(x1,y1,x2,y2)
③在复杂点,设置每个曲线的线形。==‘:r‘
x1=0:50;
y1=0:50;
y2=2*x1;
plot(x1,y1,‘-k‘,x2,y2,‘:r‘);
plot函数可以接一些参数,来改变所画图像的属性(颜色,图像元素等)。下面是一些属性的说明
b blue(蓝色) . point(点) - solid(实线)
g green(绿色) o circle(圆圈) : dotted(点线)
r red(红色) x x-mark(叉号) -. dashdot (点画线)
c cyan(墨绿色) + plus(加号) -- dashed(虚线)
m magenta(紫红色) * star(星号) (none) no line
y yellow(黄色) s square(正方形)
k black(黑色) d diamond(菱形)
v triangle (down)
^ triangle (up)
< triangle (left)
> triangle (right)
p pentagram
h hexagram
例如,plot(x,y,‘.r‘)表示用点来画图,点的颜色是红色。
④除了控制线形以外还可以控制线宽。==‘LineWidth‘,2.5
%plot(x,y,‘.r‘,‘LineWidth‘,2.5)
x1=0:50;
y1=0:50;
y2=2*x1;
plot(x1,y1,‘-k‘,x2,y2,‘:r‘,‘LineWidth‘,2.5);
title(’图形名称’) (都放在单引号内)
xlabel(’x轴说明’)
ylabel(’y轴说明’)
⑥曲线标注==legend(‘sin‘,‘cos‘,‘location‘,‘northwest‘)
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
‘North‘ 图例标识放在图顶端
‘South‘ 图例标识放在图底端
‘East‘ 图例标识放在图右方
‘West‘ 图例标识放在图左方
‘NorthEast‘ 图例标识放在图右上方(默认)
‘NorthWest 图例标识放在图左上方
‘SouthEast‘ 图例标识放在图右下角
‘SouthWest‘ 图例标识放在图左下角
(以上几个都是将图例标识放在框图内)
‘NorthOutside‘ 图例标识放在图框外侧上方
‘SouthOutside‘ 图例标识放在图框外侧下方
‘EastOutside‘ 图例标识放在图框外侧右方
‘WestOutside‘ 图例标识放在图框外侧左方
‘NorthEastOutside‘ 图例标识放在图框外侧右上方
‘NorthWestOutside‘ 图例标识放在图框外侧左上方
‘SouthEastOutside‘ 图例标识放在图框外侧右下方
‘SouthWestOutside‘ 图例标识放在图框外侧左下方
(以上几个将图例标识放在框图外)
‘Best‘ 图标标识放在图框内不与图冲突的最佳位置
‘BestOutside‘ 图标标识放在图框外使用最小空间的最佳位置
还是用上面的例子
legend(‘sin‘,‘cos‘,‘location‘,‘northwest‘)可以将标识框放置在图的左上角。
下图:左上角的即为曲线的标注效果:
⑦坐标标注
在绘制图形时,Matlab可以自动根据要绘制曲线数据的范围选择合适的坐标刻度,使得曲线能够尽可能清晰的显示出来。所以,一般情况下用户不必选择坐标轴的刻度范围。但是,如果用户对坐标不满意,可以利用axis函数对其重新设定。其调用格式为
axis([xmin xmax ymin ymax zmin zmax])
如果只给出前四个参数,则按照给出的x、y轴的最小值和最大值选择坐标系范围,绘制出合适的二维曲线。如果给出了全部参数,则绘制出三维图形。
axis函数的功能丰富,其常用的用法有:
axis equal :纵横坐标轴采用等长刻度
axis square:产生正方形坐标系(默认为矩形)
axis auto:使用默认设置
axis off:取消坐标轴
axis on :显示坐标轴
还有:给坐标加网格线可以用grid命令来控制,grid on/off命令控制画还是不画网格线,不带参数的grid命令在两种之间进行切换。
给坐标加边框用box命令控制。和grid一样用法
⑧杂七杂八功能set(0,‘defaultfigurecolor‘,‘w‘);%将背景设置为透明色
set (gcf,‘Position‘,[50,50,500,300]);%将图像大小设置为固定值
set(gca,‘FontName‘,‘Times New Roman‘,‘FontSize‘,18);%将所有字设置为18号,Times New Roman字体
hold on/off 命令是保持原有图形还是刷新原有图形,不带参数的hold命令在两者之间进行切换
set(gca,‘XTickLabel‘,{‘ ‘}) //坐标不显示,或者说显示为空格
set(gca,‘YTickLabel‘,{‘ ‘})
set(gca,‘XTick‘, [0 20 40 60 80 100 120 140 150]);
set(gca,‘YTick‘, [0 50 100 150]);%坐标按指定数组的值显示
⑨图像分割
一张图上显示两个图片,和一张坐标系上显示两条曲线概念不同。
经常需要在一个图形窗口中绘制若干个独立的图形,这就需要对图形窗口进行分割。分割后的图形窗口由若干个绘图区组成,每一个绘图区可以建立独立的坐标系并绘制图形。同一图形窗口下的不同图形称为子图。Matlab提供了subplot函数用来将当前窗口分割成若干个绘图区,每个区域代表一个独立的子图,也是一个独立的坐标系,可以通过subplot函数激活某一区,该区为活动区,所发出的绘图命令都是作用于该活动区域。调用格式:
subplot(m,n,p)
该函数把当前窗口分成m×n个绘图区,m行,每行n个绘图区,区号按行优先编号。其中第p个区为当前活动区。每一个绘图区允许以不同的坐标系单独绘制图形。
t=0:150;
subplot(2,1,2);
plot(t(1:150),AA1,‘K‘,‘LineWidth‘,2.5);
set(gca,‘FontName‘,‘Times New Roman‘,‘FontSize‘,18);
title(‘b-The relationship between passing time and releasing lane‘);
xlabel(‘passing time‘);
ylabel(‘releasing lane‘);
hold on;
plot(t(1:150),BB1,‘K‘,‘LineWidth‘,2.5);
plot(t(1:142),AA2,‘:g‘,‘LineWidth‘,2.5);
plot(t(1:142),BB2,‘:g‘,‘LineWidth‘,2.5);
plot(t(1:146),AA3,‘--r‘,‘LineWidth‘,2.5);
plot(t(1:146),BB3,‘--r‘,‘LineWidth‘,2.5);
hold off;
参考supplot使用效果如下:
标签:
原文地址:http://blog.csdn.net/haoxiaodao/article/details/44263127