Matlab绘图基础

您所在的位置:网站首页 python坐标图 Matlab绘图基础

Matlab绘图基础

#Matlab绘图基础| 来源: 网络整理| 查看: 265

描述

axes在当前窗口中创建一个包含默认属性坐标系

axes('PropertyName',propertyvalue,...)创建坐标系时,同时指定它的一些属性,没有指定的使用DefaultAxes**,当然可以在以后使用set/get函数进行设置/读取,坐标系axes所有属性参见附录

axes(h)将坐标系h置为当前坐标系,同时将figure中的CurrentAxes属性设置为h,并且将h排列到children属性中第一个axes位置。默认情况,所有图形函数都是在当前坐标系上绘图

h = axes(...)创建坐标系时返回它的句柄,方便以后操作

注意:创建时有三种方式直接指定属性,无先后顺序,不区分大小写,效果一致

(1)Name/Value配对形式

axes('Position',[0.2 0.2 0.6 0.6],'XGrid','on','XTickLabel',[])

(2)结构体形式

pp.Position=[0.2 0.2 0.6 0.6];

pp.XGrid='on';

pp.XTickLabel=[];

axes(pp)

(3)细胞元组形式

Name={'Position','XGrid','XTickLabel'};

Value={[0.2 0.2 0.6 0.6],'on',[]};

axes(Name,Value)

应用实例1:绘制重叠图像

clear;close; %% 先画第一个大图像 set(groot,'defaultAxesColorOrder',[0 0 0;1 0 0],... 'defaultAxesLineStyleOrder','--|-|:|-.'); % groot refers to the graphics root object——help % 这里的设置对象(groot)不能是h1或h2,否则不起作用 % 设置绘制点线的样式和他们的顺序,这里设置的顺序依次为: % 黑色虚线、红色虚线;黑色实线、红色实线;黑色点点、红色点点;黑色点线、红色点线 h1=axes('position',[0.08 0.1 0.85 0.85]); % 创建一个坐标系 %让 坐标轴的左下角 与 窗口左侧 的距离时窗口宽度的8%,距离下侧10% %整个坐标轴的宽占85%,高占85%。一个小框就出来了 axes(h1); %将h1设置为当前坐标系,为绘图准备 Z = peaks; x = 1:length(Z);y = Z(3:10,:); plot(x,y); axis(h1,[0,49,-6,0.5]); %坐标轴句柄h1不能少! %画图 %x的坐标范围是0到2π,y的范围是-0.5到0.5 legend('黑色虚线','红色虚线','黑色实线','红色实线','黑色点点','红色点点','黑色点线','红色点线') %% 在原图上插入一个新的小图像 set(groot,'defaultAxesLineStyleOrder','remove','defaultAxesColorOrder','remove'); %每次使用记得清除上次设置的参数,否则设置的参数会被保留下来 h2=axes('Position',[0.1 0.12 0.3 0.3]); % 建立的坐标轴把原来的覆盖了是吧?这说明建立坐标轴是在绘图(点、线)之前 axes(h2); % 将h2设置为当前坐标系 plot(rand(10,3)); set(h2,'xticklabel','','yticklabel','') %设置x轴和y轴的标注不显示 axis tight; colorbar; %可以发现这里的axis和colorbar只对h2起作用 应用实例2:一幅图绘制多个坐标轴 % 数据准备 x1=0:0.01:10;y1=sin(x1); x2=0:0.01:10;y2=cos(x2); % 设置坐标系 ax1=gca;set(ax1,'XColor','r','YColor','r'); ax2=axes('Position',get(ax1,'Position'),... 'XAxisLocation','top','YAxisLocation','right',... 'Color','none','XColor','k','YColor','k'); % XAxisLocation和YAxisLocation属性指定在图形的哪一侧放置x轴和y轴 % Color属性将ax2设置为透明,若没有则ax1绘制的图像会被覆盖 % 展绘数据 h1=line(x1,y1,'Color','r','Parent',ax1); h2=line(x2,y2,'Color','k','Parent',ax2);        

应用实例3:结合axis,axes,colorbar等工具,制作一个数字图像灰度统计图

注:axis设置坐标轴取值范围可以参考这里:https://www.cnblogs.com/stxs/p/8617140.html 

% 数据生成及展示(真实情况可以用数字图像代替)

set(groot,'defaultAxesLineStyleOrder','remove','defaultAxesColorOrder','remove');

%每次使用记得清除上次设置的参数,否则设置的参数会被保留下来

x=1:255;y=rand(1,255);y=y';%y是行向量还是列向量都无所谓

n=length(x);

stem(x,y, 'Marker', 'none');

title('未设置坐标轴的区间','fontsize',14);

% 坐标轴区间的自动设置(适用于直方图的显示)

% Get x/y limits of axes using axis

hist_axes = gca;

limits = axis(hist_axes);

if n ~= 1 %当只有一个值时设置x坐标轴

limits(1) = min(x);

else

limits(1) = 0;

end

limits(2) = max(x);

var = sqrt(y'*y/length(y));

limits(4) = 2*var; % 只改变了y轴显示的高度

axis(hist_axes,limits);

title('设置了的坐标轴区间','fontsize',14);

% 改变图像的位置,宽和高,隐藏X轴的标注

% In GUIDE, default axes units are characters. In order for axes repositiong

% to behave properly, units need to be normalized.

hist_axes_units_old = get(hist_axes,'units');

set(hist_axes,'Units','Normalized');

% 隐藏X轴的标注

% hist_axes.XAxis.Visible = 'off';

% 上面一句也可以隐藏Ticks,同时Box的上端也隐藏了,这就使得图像看上去不太好看

% 下面这一句可以只隐藏Ticks;

hist_axes.XTick= [];

% Get axis position and make room for others.

pos = get(hist_axes,'pos');

set(hist_axes,'pos',[pos(1) 0.15 pos(3) 0.75])

set(hist_axes,'Units',hist_axes_units_old); % 坐标向上移动了,相应也调整了整个图众向比例

title('移动了的坐标原点','fontsize',14);

% 设置ColorBar

c = colorbar('position',[pos(1) 0.1 pos(3) 0.05], 'location','southoutside');

c.Ticks= 0:0.125:1;

c.TickLabels = ceil((0:0.125:1)*255); % 使用floor函数,Ticks与真实值似乎有偏差

c.Box = 'off'; % 取消显示ColorBar的框框,这样使ColorBar的上框线看起来不粗

c.TickDirection = 'both';

colormap gray;

% colorbar最左下角点的横坐标、纵坐标、宽度、高度

title('一个灰度统计图的绘制就完成了','fontsize',14);

Matlab绘图基础——利用axes(坐标系图形对象)绘制重叠图像 及 一图多轴(一幅图绘制多个坐标轴)的更多相关文章 Matlab绘图基础——图形绘制的插值  以及 图像大小的重采样

使用说明:图形绘制时的插值 interp1   %1-D data interpolation interpft  %使用fft算法插值     %将原数据x转换到频率域,再逆转换回来更密集的数据采样 ...

Matlab绘图基础——绘制等高线图

% 等高线矩阵的获取 C = contourc(peaks(20),3);              % 获取3个等级的等高线矩阵 % 等高线图形的绘制 contour(peaks(20),10);c ...

Matlab绘图基础——axis设置坐标轴取值范围

peaks; axis tight  %Set the axis limits to equal the range of the data  axis square axis 'auto x'  % ...

Matlab绘图基础——colormap在数字图像处理及三维图形展示上的应用(分层设色)

    色图(color map)是MATLAB系统引入的概念.在MATLAB中,每个图形窗口只能有一个色图.        色图是m×3 的数值矩阵,它的每一行是RGB三元组.色图矩阵可以人为地生成 ...

Matlab绘图基础——给图像配文字说明(text对象)

  text对象 (1)text(x坐标,y坐标,'string')在图形中指定位置(x,y)显示字符串string.(2)Editing有效值为on/off,off时,用户在执行GUI操作时无法直接 ...

Matlab绘图基础——图形修饰处理(入门)

引入--标题.色条.坐标轴.图例等 例一: set(groot,'defaultAxesLineStyleOrder','remove','defaultAxesColorOrder','remove ...

Matlab绘图基础——其他三维图形(绘制填充的五角星)

其他三维图形 %绘制魔方阵的三维条形图 subplot(2,2,1); bar3(magic(4));   %以三维杆图形式绘制曲线y=2sin(x) subplot(2,2,2); y=2*sin( ...

Matlab绘图基础——图形绘制的插值

interp1   %1-D data interpolation interpft  %使用fft算法插值     %将原数据x转换到频率域,再逆转换回来更密集的数据采样点 spline    %一 ...

Matlab绘图基础——绘制三维表面

%绘制三维表面 ------------------------------------- %1.绘制线框图:mesh:每一条曲线称为mesh line %首先利用meshgrid函数产生平面区域内的 ...

随机推荐 LeetCode——N-Queens

Description: The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that n ...

LeetCode - Customers Who Never Order

Description: Suppose that a website contains two tables, the Customers table and the Orders table. W ...

【BZOJ3156】防御准备 斜率优化

[BZOJ3156]防御准备 Description Input 第一行为一个整数N表示战线的总长度. 第二行N个整数,第i个整数表示在位置i放置守卫塔的花费Ai. Output 共一个整数,表示最小 ...

【BZOJ2588】Spoj 10628. Count on a tree 主席树+LCA

[BZOJ2588]Spoj 10628. Count on a tree Description 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lasta ...

【BZOJ4278】[ONTAK2015]Tasowanie 后缀数组

[BZOJ4278][ONTAK2015]Tasowanie Description 给定两个数字串A和B,通过将A和B进行二路归并得到一个新的数字串T,请找到字典序最小的T. Input 第一行包含 ...

ExcelUtil工具类

import com.google.common.base.Strings;import com.jianwu.util.excel.annotation.ExcelAttribute;import ...

SpringBoot SpringApplication底层源码分析与自动装配

目录 抛出问题 @SpringBootApplication注解剖析 SpringApplication类剖析 第一步:配置SpringBoot Bean来源 第二步 :自动推断SpringBoot的 ...

Oracle管理监控之段空间利用监控-oracle性能优化

SELECT S.OWNER,       S.SEGMENT_NAME,       S.SEGMENT_TYPE,       S.PARTITION_NAME,       ROUND(BYTE ...

Gunicorn独角兽

1. 关于Gunicorn Gunicorn是一个开源的Python WSGI HTTP服务器,移植于Ruby的Unicorn项目的采用pre-fork模式的服务器.Gunicorn服务器可与各种We ...

Python-Select/Poll/Epoll使用

select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使 ...



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3