一文搞懂Matlab画图那些事(上篇)
2016-04-05 15:26
309 查看
题记:临时需要Matlab画个曲线图,突然发现有些命令竟然忘掉了,于是各种查。这里博主整理合并关于画图那些命令,只为让你轻松搞定Matlab画图这些琐事,那么,来吧!
说明:本博文主要是二维图形的绘制,二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。
常见的plot函数的格式有plot(Y),plot(X1,Y1),plot(x,y1,x,y2),plot(X1,Y1,LineSpec,…)
A. plot(Y)如果Y是m×n的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线;如果Y是n×1或者1×n的向量,则以1:n为横坐标,Y为坐标表绘制1条曲线。
B. plot(X1,Y1)如果X和Y都是数组,按列取坐标数据绘图,此时它们必须具有相同的尺寸;如果X和Y其中一个是向量另一个为数组,X和Y中尺寸相等的方向对应绘制多条曲线;如果X和Y其中一个是标量另一个为向量,那么将绘制垂直X或者Y轴离散的点。
C.plot(x,y1,x,y2)画多条曲线,适用于不同方法下的对比的情况。
另一种画法是利用hold命令。在已经画好的图形上,若设置hold on,MATLA将把新的plot命令产生的图形画在原来的图形上。而命令hold off 将结束这个过程。
在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为:plotyy(x1,y1,x2,y2) 其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。
D. plot(X1,Y1,LineSpec,…)通过参数LineSpec指定曲线的曲线属性,它包括线型、标记符和颜色。plot函数支持同时绘制任意组图形。
在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。
另外在生成的图的时候,有时背景颜色我们不需要默认的灰色,而改成其他颜色,则见下面的命令:
坐标系的烦恼
在缺省情况下MATLAB自动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有:
axis([xmin xmax ymin ymax]) [ ]中分别给出x轴和y轴的最大值、最小值
axis(‘equal’) x轴和y轴的单位长度相同
axis(‘off’) 清除坐标刻度
实例
说明:本博文主要是二维图形的绘制,二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。
一 绘图常用函数
plot函数详谈常见的plot函数的格式有plot(Y),plot(X1,Y1),plot(x,y1,x,y2),plot(X1,Y1,LineSpec,…)
A. plot(Y)如果Y是m×n的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线;如果Y是n×1或者1×n的向量,则以1:n为横坐标,Y为坐标表绘制1条曲线。
>> y=[0 0.58 0.70 0.95 0.83 0.25]; >> plot(y)
B. plot(X1,Y1)如果X和Y都是数组,按列取坐标数据绘图,此时它们必须具有相同的尺寸;如果X和Y其中一个是向量另一个为数组,X和Y中尺寸相等的方向对应绘制多条曲线;如果X和Y其中一个是标量另一个为向量,那么将绘制垂直X或者Y轴离散的点。
>> x=linspace(0,2*pi,30); % 生成一组线性等距的数值 >> y=sin(x); >> plot(x,y)
C.plot(x,y1,x,y2)画多条曲线,适用于不同方法下的对比的情况。
另一种画法是利用hold命令。在已经画好的图形上,若设置hold on,MATLA将把新的plot命令产生的图形画在原来的图形上。而命令hold off 将结束这个过程。
在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为:plotyy(x1,y1,x2,y2) 其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。
>> x=0:pi/100:2*pi; %X的区间设置为0到2 >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2)
D. plot(X1,Y1,LineSpec,…)通过参数LineSpec指定曲线的曲线属性,它包括线型、标记符和颜色。plot函数支持同时绘制任意组图形。
>> plot(x,y,'r','LineWidth',0.5); % 颜色: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青. % 线型 线方式: - 实线 :点线 -. 虚点线 - - 波折线 % 线型 点方式: . 圆点 +加号 * 星号 x x形 o 小圆
>> x=0:pi/100:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,'go',x,y2,'b-.') %其中参数'go'和'b-.'表示图形的颜色和线型。g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。
二 绘图辅助函数
图形标记的困惑在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。
>> title(‘加图形标题’); %当前轴的正上方居中位置处输出文本作为标题 >> xlabel('加X轴标记'); >> ylabel('加Y轴标记'); >> text(X,Y,'添加文本'); >> grid; %添加网格 %%%实例%%%%% >> text(2.5,0.7,’sinx’) %在横坐标2.5,纵坐标0.7处标记sinx文字 >> text(10,0.6,'\leftarrow CNN'); %标注时候加上左箭头的标记 >> gtext(‘sinx’) %用鼠标来确定字符串的位置
另外在生成的图的时候,有时背景颜色我们不需要默认的灰色,而改成其他颜色,则见下面的命令:
set(gcf,'Color',[1 1 1]); %将背景设置为白色
坐标系的烦恼
在缺省情况下MATLAB自动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有:
axis([xmin xmax ymin ymax]) [ ]中分别给出x轴和y轴的最大值、最小值
axis(‘equal’) x轴和y轴的单位长度相同
axis(‘off’) 清除坐标刻度
>> axis([0 6 0 1]) %X轴0~6,y轴0~1 >> subplot(m,n,p) %多幅图形,可以在同一个画面上建立几个坐标系, 用命令;把一个画面分成m×n个图形区域, p代表当前的区域号,在每个区域中分别画一个图
实例
x = [0,10,20,30,40]; y = [0,0.6,0.8,0.9,0.96]; scatter(x,y,1,'k'); plot(x,y,'r','LineWidth',0.5); axis([0 40 0 1]); title('不同方法结果对比'); %坐标轴上面标注内容 xlabel('迭代次数'),ylabel('测试精度'); text(10,0.6,'\leftarrow CNN'); %在曲线任意位置加上text legend('CNN','MPCNN'); %在图上加上标注,并且可以随意拖动
相关文章推荐
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ASP下经常用的字符串等函数参考资料
- PostgreSQL教程(五):函数和操作符详解(1)
- DOS批处理 函数定义与用法
- asp Chr 函数 数字转字母的方法
- Lua中的函数精讲笔记
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中调用C++函数示例
- Lua实现split函数
- Lua常用时间函数使用实例
- Lua函数与字符串处理简明总结
- Lua学习笔记之表和函数
- Lua中实现sleep函数功能的4种方法
- Lua函数用法研究
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
- Sql Server中REPLACE函数的使用
- PowerShell函数简明教程