Matlab---绘图中坐标系显示设置
Matlab绘图---坐标系显示设置
【@wp20180507-20180511(week 5)】
目录:
一、设置坐标范围
二、修改坐标轴显示的刻度、密度、lable文字、位置等
三、Matlab绘制出来的图像进行保存
正文:
一、 设置坐标范围
1) 函数axis():axis进行设置(对当前坐标轴进行设置)
如果是二维:axis([xmin xmax ymin ymax]) 设置x-y坐标指定的区间范围。
xmin是x最小xmax是x最大,ymin,ymax分别是y最小,y最大
比如,要改编x坐标
axis([1 120000 -inf inf])
如果改y坐标
axis([ -inf inf 1 120000])
当然,可以两个都改 -inf inf是正负无穷大
如果是三维:axis([xmin xmax ymin ymax zmin zmax]) 设置x-y-z坐标指定的区间范围。
还要考虑到z坐标。
示例如下:
>> x = 1:10;
>> subplot(2,1,1) % 默认范围
>> plot(x,x.^2)
>> subplot(2,1,2) % 设置x范围[0,12],y任意
>> plot(x,x.^2,'r')
>> axis([0 12,-inf,inf])
具体用法如下:
plot(x, y); // 画图后用axis函数设置坐标轴的范围
axis([xmin xmax ymin ymax]); % 设置坐标轴在指定的区间
xmin、xmax 表示设置横坐标的最小最大值;
ymin、ymax 表示设置纵坐标的最小最大值。
2) 函数set ():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;
3) 函数xlim( )/ ylim ( )
使用方法: xlim([XMIN XMAX]) % sets the x limits
x轴上下限设定xlim([a,b]);
y轴上下限设定ylim([a,b])
% set(gca,'xlim',[-20 20],'ylim',[-20 20]); 表示:设置当前图的横轴和纵轴的范围,lim就是limite的意思。
也可以不用set设置,
而直接用函数xlim和ylim设置:xlim(gca,[-20,20]); ylim(gca,[-20,20]);
也可以用函数axis设置:axis(gca,[-20,20,-20,20]) ,
gca是get hanlde to current axis(得到当前图的句柄)的意思,除set函数外,在以上函数中均可省略不写,默认就是gca。
4) 在生成的图中直接设置
figure右上角有一个图表,按下去后可以打开图像高级编辑菜单,然后在axis当中修改。
直接在Figure Properties里面调节坐标轴的范围就OK了。
进入“显示绘图工具和停靠图形”界面后,选中坐标轴,在坐标轴的属性中有刻度属性,可以根据要求自行修改。
具体:plot()或者其他命令打开的figure文件中——Edit——Figure Properties——下面的Xlimits项就可以调节X轴范围,在X Label后面的Ticks选项里可以调节标尺的间距。同理可以调节Y轴的范围和你所谓的标尺。
比如设置横轴范围0~100就是:xlim( [ 0, 100 ] );
二、 修改坐标轴显示的刻度、密度、lable文字、位置等
如果想在该图像中显示X轴的部分刻度值,并且与现有坐标轴不同。
1) 修改---显示刻度的位置与显示内容
xtick表示显示刻度的位置,可输入以下代码到matlab命令窗口中去:
set(gca, ‘XTick’, [1 5 10]); %这里是只显示1,5,10三个刻度值。
xticklabel表示显示的内容,输入以下代码:
set(gca, 'XTickLabel' ,{'a','b','c'}) ; %将上面的三个刻度值改为a,b,c。
类似,修改Y轴的刻度值,只需将XTick和XTickLabel改为YTick和YTickLabel。
例,修改标注的字:
set(gca,'Xticklabel',{'xx','yy','zz'},'Yticklabel',{'aa','bb'});
改变坐标轴的显示数值,可以用:set(gca,'xtick',xtick,'xticklabel',xticklabel) ;
%gca为Get Current Axis的Handle,xtick为显示刻度的位置,xticklabel为显示的内容。
注意,gcf和gca:这里需要说明gcf表示的是整个图形,包括上面的工具栏等等;而gca只是代表了其中的坐标轴及内部的数据。
2) 修改---字体大小
在修改了标注之后,顺便还可以修改字体大小。
set(gca,'Xtick',[0 20 40],'Ytick',[-0.25 0.25],'fontsize',20);
在Figure窗口里,通过Edit-Axes Properties....-Font-Font Size即可设置。
set(gca,'FontSize',20); %只能同时改变x y轴显示的字体大小。
set(get(gca,'YLabel'),'Fontsize',20) ; %是针对标注的而不是坐标刻度。
3) 修改---字体的方向
使用格式:
set(gca,'XTickLabelRotation',45);
三、 Matlab绘制出来的图像进行保存
这里借助第三方截图软件,略过!
1) 直接另存为
在figure中使用菜单file——>saveas——>选择保存形式(fig,eps,jpeg,gif,png,bmp等)。缺点:另存为的图像清晰度有很大的牺牲。
2) 复制到剪贴板
在figure中使用菜单edit——>copy figure——>此时图像就复制到剪贴板了,我们可以借助其他软件(比如:绘图板)保存为需要的图片。
3) saveas命令格式
Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存,相当于【文件】中的【另存为】
% saveas(figure_handle,filename,fileformat)
plot(1:10);
saveas(gcf,‘myfig.jpg’)
对于,saveas的三个参数:
(1)图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3.
(2)文件名。
(3)单引号字符串,指定存储格式。
例:saveas(gcf,['D:\MATLAB7\work','yanbao',num2str(k),'.jpg']);
4) print函数
print函数原本不是用来进行图像保存了,而是操作打印机的,但是这里我们可以借用下
% print(figure_handle,fileformat,filename)
x=-pi:2*pi/300:pi;
y=sin(x);
plot(x,y);
%Matlab根据文件扩展名,自动保存为相应格式图片,另外路径可以是绝对也可以是相对
print(gcf,'-dpng','abc.png') %保存为png格式的图片到当前路径
print的三个参数:
(1)图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3.
(2)单引号字符串,指定存储格式。用gcf可以获取当前窗口句柄。
png格式:'-dpng'。
Jpeg格式: '-djpeg'。
tiff格式:'-dtiff '。
bmp格式: '-dbitmap'
(3)文件名。
例:
>> x=-pi:2*pi/300:pi;
>> y=sin(x);
>> plot(x,y);
>> print(gcf,'-dpng','abc.png') % 保存为png格式的图片。
>> figure(2) % 新建一个句柄为2的图形窗口。
>> plot(x,cos(x)); % 在句柄为2的图形窗口上画图。
>> grid
>> print(2,'-djpeg','C:\abc.jpeg'); %将句柄为2的图形保存为jpeg/jpg格式的图片,文件名为'C:\abc.jpeg'。
有时只有一个Matlab图像的fig文件,但没有该图像的相关坐标数据,如何获取fig图像的数据方法:
1、将那个fig文件保存到Matlab的搜索路径下,双击打开它
2、在Matlab的command中输入如下内容:
h=get(gcf,'chidren')
data=get(h,{'xdata','ydata','zdata'})
%此时图形中所有图像的三维数据x,y,z将会以结构体的形式保存到data变量中了。
Matlab---绘图中坐标系显示设置的更多相关文章
- 使用axes函数在matlab绘图中实现图中图的绘制
使用axes函数在matlab绘图中实现图中图的绘制 有时为了对细节进行详细说明,需要在一个较大坐标轴上绘制一个小图来对局部进行放大以阐述结果. 这可以通过调用axes函数实现. 下面通过绘制 y=1 ...
- Matlab绘图详解
Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...
- Matlab绘图(一二三维)
Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...
- Matlab绘图高级部分
图形是呈现数据的一种直观方式,在用Matlab进行数据处理和计算后,我们一般都会以图形的形式将结果呈现出来.尤其在论文的撰写中,优雅的图形无疑会为文章加分.本篇文章非完全原创,我的工作就是把见到的Ma ...
- (转载)MatLab绘图
转载自:http://www.cnblogs.com/hxsyl/archive/2012/10/10/2718380.html 转载自:http://www.cnblogs.com/jeromebl ...
- matlab绘图(详细)(全面)
Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...
- Matlab 绘图完整入门
Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...
- 详尽全面的matlab绘图教程
Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...
- Matlab 绘图全方位分析及源码
Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...
随机推荐
- 微信小程序的场景值scene
根据微信小程序返回给我们的场景值,我们可以根据不同的场景做出不同的处理,更加方便我们对使用场景的划分 当前支持的场景值有: :发现栏小程序主入口,“最近使用”列表(基础库2..4版本起将包含“我的小程 ...
- Flutter 圆形/圆角头像图片
图片显示 1.本地图片 Image.asset加载项目资源包的图片 //先将图片拷贝到项目 images 目录中,然后在 pubspec.yaml文件配置文件相对路径到 assets Image.as ...
- flask上下管理文相关 - 总结
flask上下管理文相关 - 总结 flask上下文管理机制 当用户请求到来之后,flask内部会创建两个对象: ctx = ReqeustContext(),内部封装request/sesion a ...
- vue实现文件上传
<!-- multiple多个文件上传 accept文件类型--> <input type="file" @change="addFile" ...
- 义隆单片机学习笔记之(一) 硬件框架&资源下载
参考网址: 点击链接或右键链接地址 (台湾义隆官网)http://www.emc.com.tw/chs/tech_8bit.asp (EM78P153K官方资料)http://www.emc.com. ...
- jstack使用
top -p 22072 -H -p:查看某个进程 -H列出所有的线程 printf '%x' 22398 (16进制线程号) sudo -u tomcat jstack 22072 | grep ...
- HBuilder git使用教程
1.插件安装 打开HBuilder,工具->插件安装. 等待安装,成功后提示重启后生效,立即重启. 2.在码云上新建一个项目,复制项目地址. 码云地址:https://gitee.com/ 3. ...
- 斐波那契数列Fibonacci问题—动态规划
斐波那契数列定义 Fibonacci array:1,1,2,3,5,8,13,21,34,... 在数学上,斐波那契数列是以递归的方法来定义: F(0) = 0 F(1) = 1 F(n) = F( ...
- uva11624 Fire! (bfs预处理)
题目链接:https://vjudge.net/problem/UVA-11624 题意:给一个1000×1000的矩阵,有几个着火点和Joe,着火点和Joe每个单位时间均移动一个单位,求Joe逃出的 ...
- gRPC安装的小问题
INSTALL.md提到下述前提条件 #Pre-requisites ##Linux ```sh $ [sudo] apt-get install build-essential autoconf l ...