matlab画图函数plot()/set/legend
简单plot()/legend/XY轴范围axis
除了坐标轴信息外还可以添加其它的信息,如所画曲线的信息等:测试代码如下
x=0:pi/20:2*pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,x,y2);
grid on
xlabel('变量 X')
ylabel('变量 Y1 & Y2')
title('正弦余弦波形') %添加图像标题
text(1.5,0.3,'cos(x)') %将cosx这个注解加到坐标中的某个位置
gtext('sin(x)') % 用鼠标的光标定位,将sinx这个注解放在你鼠标点击的地方
通过各图的对比,你就会发现这些命令的用法
图例位置设定可以用legend
legend('First','Second','location','SouthWest');
7.指定X,Y轴范围
可以用matlab提供的坐标轴设置函数axis进行设置(对当前坐标轴进行设置),具体用法如下:
plot(x, y); // 画图后用axis函数设置坐标轴的范围
axis([xmin xmax ymin ymax]); % 设置坐标轴在指定的区间
xmin、xmax 表示设置横坐标的最小最大值;
ymin、ymax 表示设置纵坐标的最小最大值。
也可以用下面的set函数进行设置(对指定的坐标轴进行设置),具体用法如下:
plot(x, y); // 画图后用set函数设置坐标轴的属性
set(handles,'xtick',0:100:2500) % handles可以指定具体坐标轴的句柄
功能: 设置X轴坐标范围0到2500,显示间隔是100;
set(handles,'ytick',0:100:2500) % handles可以指定具体坐标轴的句柄
功能: 设置X轴坐标范围0到2500,显示间隔是100;
详解plot(线形参数)/legend/set
语法
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——指定标识符的大小
注意上面四个属性是针对当前坐标系中所有曲线的。
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设置gca修改坐标显示
1、坐标轴
set(gca,'xtick',[])%去掉x轴的刻度
set(gca,'ytick',[]) %去掉xy轴的刻度
set(gca,'xtick',[],'ytick',[]) %同时去掉x轴和y轴的刻度
set(gca,'XLim',[20 20000]);
set(gca,'YLim',[20 20000]);
set(gca,'XMinorTick','off');
set(gca,'XGrid','on');
set(gca,'XMinorGrid','off')
2、%顺便附上可以格式化坐标刻度的程序段
x=get(gca,'xlim');
y=get(gca,'ylim');
set(gca,'xtick',[x(1) (x(1)+x(2))/2 x(2)]);
set(gca,'ytick',[y(1) (y(1)+y(2))/2 y(2)]);
get(gca,'xlim');是获取最大最小刻度的
如果需要获取所有在坐标轴上显示的刻度,需要使用get(gca,'ytick');
画完图像,如果觉得坐标尺度不是自己想要的,可以用xlim,ylim,zlim修改一下坐标尺度
xlim([-0.0015 0.0015]);
同理ylim,zlim
图像画完,如果觉得中间缺少网格,可以添加网格和调整
gird on; % 添加网格
grid minor; % 觉得网格不够密度
grid off; % 不想看到网格
matlab画图函数plot()/set/legend的更多相关文章
- Matlab画图-非常具体,非常全面
Matlab画图 强大的画图功能是Matlab的特点之中的一个,Matlab提供了一系列的画图函数,用户不须要过多的考虑画图的细节,仅仅须要给出一些基本參数就能得到所需图形,这类函数称为高层画图函数. ...
- Scilab 的画图函数(1)
Scilab 的画图函数 plot 函数 最主要的是 plot 函数,与 matlab 中的plot 函数类似. xdata = linspace(1,10,50); ydata = sin(xdat ...
- Matlab随笔之画图函数总结
原文:Matlab随笔之画图函数总结 MATLAB函数画图 MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization).本节将介绍MATL ...
- plot与legend画图与图例
画图与图例: legend(x, y = NULL, legend, fill = NULL, col = par("col"), border = "black&quo ...
- IIR滤波器设计(调用MATLAB IIR函数来实现)
转载请注明文章来源 – http://blog.csdn.net/v_hyx ,请勿用于任何商业用途 对于滤波器设计,以前虽然学过相关的理论(现代数字信号处理和DSP设计),但一直不求 ...
- MATLAB绘制函数图
序言 Matlab可以根据用户给出的数据绘制相应的函数图.对于单个2D函数图,需要给出一个行向量x作为函数图上离散点集的横坐标,以及一个与x列数一样的横坐标y作为函数图上点集的纵坐标. 向量x和y的取 ...
- 设置 matlab 画图格式
1:设置 matlab 画图格式 clear;clc; % load("array.mat"); % Bestallarray=array; % rllofcircle(Besta ...
- matlab 画图进阶
matlab 画图进阶 applications of matlab in engineering 图表类型的选择 first:advanced 2d plots special plots logl ...
- MATLAB画图笔记
plot函数 plot(x,y)默认格式: 若x,y是向量,则它们必须具有相同的长度.函数将以x为横轴,绘制y. 若x,y都是矩阵,则它们必须具有相同的尺寸,plot函数将针对x的各列绘制y的每列.更 ...
随机推荐
- ios native工程集成react-native的demo
react-native看到了给现有工程添加react-native环境的时候碰到一个问题: 如何往工程中添加 package.json文件,以及node_modules是怎么来的? 我开始的时候以为 ...
- 组件RecyclerView的应用(一)
首先我们知道RecyclerView组件是ListView的升级版,今天先介绍基础的RecyclerView的基本布局RecyclerView.Adapter和LayoutManager 第一: La ...
- 简历生成平台项目开发-STEP5初步界面demo实现
谭卓因为暑期实习,去杭州实习了,走之前在git上上传了一些文档(https://github.com/USTC-CV-creator/),项目到目前为止,前端demo已经做好,后台接收请求生成PDF部 ...
- C#设计模式学习笔记-单例模式
最近在学设计模式,学到创建型模式的时候,碰到单例模式(或叫单件模式),现在整理一下笔记. 在<Design Patterns:Elements of Resuable Object-Orient ...
- 0036 Java学习笔记-多线程-创建线程的三种方式
创建线程 创建线程的三种方式: 继承java.lang.Thread 实现java.lang.Runnable接口 实现java.util.concurrent.Callable接口 所有的线程对象都 ...
- Web服务
Web服务的相关信息 Apache服务器是web服务的重要应用 在这也是讲的apache 这里需要安装一个http服务软件才行! Apache的根文档在/var/www/html 主配置文件 /e ...
- zip命令的基本用法
zip命令的基本用法是: zip [参数] [打包后的文件名] [打包的目录路径] linux zip命令参数列表: -a 将文件转成ASCII模式 -F 尝试修复损坏的压缩文件 -h 显示帮助界面 ...
- plain framework 1 1.0.4 更新 稳定版发布
PF由于各种因素迟迟不能更新,此次更新主要是更新了以往和上个版本出现的内存问题,该版本较为稳定,如果有用到的朋友请更新至此版本. PF 1.0.4 修复1.0.0.3更新后产生的内存问题,可能导致网络 ...
- java 成长之路[轉載u]
分享总结title: java 成长之路tags:grammar_cjkRuby: true 经验差异 1-3年 要求 建议 3-5年 建议 5年+ 经验差异 最近一年比较忙,经历了创业公司的倒闭.这 ...
- ASP.NET MVC - 定制属于你自己的ViewEngine
http://blog.csdn.net/jackvs/article/details/7788743 ASP.NET MVC出来这么久了,心中却又很多的疑惑:为什么所有的View都要放在Views目 ...