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---绘图中坐标系显示设置的更多相关文章

  1. 使用axes函数在matlab绘图中实现图中图的绘制

    使用axes函数在matlab绘图中实现图中图的绘制 有时为了对细节进行详细说明,需要在一个较大坐标轴上绘制一个小图来对局部进行放大以阐述结果. 这可以通过调用axes函数实现. 下面通过绘制 y=1 ...

  2. Matlab绘图详解

    Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...

  3. Matlab绘图(一二三维)

    Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...

  4. Matlab绘图高级部分

    图形是呈现数据的一种直观方式,在用Matlab进行数据处理和计算后,我们一般都会以图形的形式将结果呈现出来.尤其在论文的撰写中,优雅的图形无疑会为文章加分.本篇文章非完全原创,我的工作就是把见到的Ma ...

  5. (转载)MatLab绘图

    转载自:http://www.cnblogs.com/hxsyl/archive/2012/10/10/2718380.html 转载自:http://www.cnblogs.com/jeromebl ...

  6. matlab绘图(详细)(全面)

    Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...

  7. Matlab 绘图完整入门

    Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...

  8. 详尽全面的matlab绘图教程

    Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...

  9. Matlab 绘图全方位分析及源码

    Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...

随机推荐

  1. unicode 字符范围

    根据最新的Unicode 5.0版整理如下: 1)标准CJK文字 http://www.unicode.org/Public/UNIDATA/Unihan.html Code point range ...

  2. 教程3 -如何与dotmemory内存优化交通

    在本教程中,我们将看到如何使用dotmemory优化你的应用程序的内存使用情况. 我们所说的什么“优化内存使用”?像在任何操作系统的过程中,垃圾收集(GC)消耗系统资源.逻辑很简单:更多的藏品GC已作 ...

  3. Mysql性能优化之---(二)

    建立适当的索引 说起提高数据库性能,索引是最物美价廉的东西了.不用加内存,不用改程序,不用调sql,只要执行个正确的'create index',查询速度就可能提高百倍千倍,这可真有诱惑力.可是天下没 ...

  4. 2019牛客多校赛第一场 补题 I题

    I题  Points Division 题意: 给你n个点,每个点有坐标(xi,yi)和属性(ai,bi),将点集划分为两个集合, 任意 A 集合的点 i 和 B 集合点 j, 不允许 xi > ...

  5. Python解Leetcode: 724. Find Pivot Index

    leetcode 724. Find Pivot Index 题目描述:在数组中找到一个值,使得该值两边所有值的和相等.如果值存在,返回该值的索引,否则返回-1 思路:遍历两遍数组,第一遍求出数组的和 ...

  6. 2019上海网络赛 F. Rhyme scheme 普通dp

    Rhyme scheme Problem Describe A rhyme scheme is the pattern of rhymes at the end of each line of a p ...

  7. DP+线段树维护矩阵(2019牛客暑期多校训练营(第二场))--MAZE

    题意:https://ac.nowcoder.com/acm/contest/882/E 给你01矩阵,有两种操作:1是把一个位置0变1.1变0,2是问你从第一行i开始,到最后一行j有几种走法.你只能 ...

  8. php中的访问类型(public,private,protected)

    类型的访问修饰符允许开发人员对类成员的访问进行限制,这是PHP5的新特性.但却是oop语言的一个好的特性.而且大多数的oop语言都已支持此特性.PHP5支持三种访问修饰符: public(公有的,默认 ...

  9. 牛客 128A 礼物 (组合计数)

    大意: n种一元的奥利奥, m种2元的奥利奥, 求花恰好k元钱购买奥利奥的方案数. 可重组合问题, 直接dp即可. #include <iostream> #include <sst ...

  10. 正则表达式 第五篇:C# 正则表达式

    原文:正则表达式 第五篇:C# 正则表达式 本文整理C#正则表达式的元字符,正则表达式是由字符构成的表达式,每个字符代表一个规则,表达式中的字符分为两种类型:普通字符和元字符.普通字符是指字面含义不变 ...