前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一文搞懂Matlab画图那些事(上篇)

一文搞懂Matlab画图那些事(上篇)

作者头像
深度学习思考者
发布2018-01-03 11:40:11
2.9K0
发布2018-01-03 11:40:11
举报

题记:临时需要Matlab画个曲线图,突然发现有些命令竟然忘掉了,于是各种查。这里博主整理合并关于画图那些命令,只为让你轻松搞定Matlab画图这些琐事,那么,来吧! 说明:本博文主要是二维图形的绘制,二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。

一 绘图常用函数

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条曲线。

代码语言:javascript
复制
>> 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轴离散的点。

代码语言:javascript
复制
>> 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数据对。

代码语言:javascript
复制
>> 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函数支持同时绘制任意组图形。

代码语言:javascript
复制
>> plot(x,y,'r','LineWidth',0.5);
% 颜色: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青.
% 线型 线方式: - 实线 :点线 -. 虚点线 - - 波折线
% 线型 点方式: . 圆点 +加号 * 星号 x x形 o 小圆
代码语言:javascript
复制
>> x=0:pi/100:2*pi;
>> y1=sin(x);
>> y2=cos(x);
>> plot(x,y1,'go',x,y2,'b-.')
%其中参数'go'和'b-.'表示图形的颜色和线型。g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。
这里写图片描述
这里写图片描述

二 绘图辅助函数

图形标记的困惑

在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。

代码语言:javascript
复制
>> 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’) %用鼠标来确定字符串的位置

另外在生成的图的时候,有时背景颜色我们不需要默认的灰色,而改成其他颜色,则见下面的命令:

代码语言:javascript
复制
set(gcf,'Color',[1 1 1]);  %将背景设置为白色

坐标系的烦恼

在缺省情况下MATLAB自动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有: axis([xmin xmax ymin ymax]) [ ]中分别给出x轴和y轴的最大值、最小值 axis(‘equal’) x轴和y轴的单位长度相同 axis(‘off’) 清除坐标刻度

代码语言:javascript
复制
>> axis([0 6 0 1])  %X轴0~6,y轴0~1
>> subplot(m,n,p) 
%多幅图形,可以在同一个画面上建立几个坐标系, 用命令;把一个画面分成m×n个图形区域, p代表当前的区域号,在每个区域中分别画一个图

实例

代码语言:javascript
复制
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');  %在图上加上标注,并且可以随意拖动
这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年04月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 绘图常用函数
  • 二 绘图辅助函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档