【转】MATLAB在一幅图上添加多个纵坐标轴

来源:http://wenku.baidu.com/link?url=m_eEkzbjnT9ccgAnlPVDqHCVyrZOD2EplXxxIiQc69DI0lHAWzwpZXfdDy_7DPbwIXC4t6c1zi9WfI5dlf6HETC1Mc69FjAAPstpIic_hBe

代码:

function [ax,hlines] = plotyyy(x1,y1,x2,y2,x3,y3,ylabels)
%PLOTYYY - Extends plotyy to include a third y-axis
%Syntax:  [ax,hlines] = plotyyy(x1,y1,x2,y2,x3,y3,ylabels)
%Inputs: x1,y1 are the xdata and ydata for the first axes‘ line
%        x2,y2 are the xdata and ydata for the
second axes‘ line
%        x3,y3 are the xdata and ydata for the
third axes‘ line
%        ylabels is a 3x1 cell array containing
the ylabel strings
%Outputs: ax -     3x1 double array containing the axes‘
handles
%         hlines - 3x1 double array containing
the lines‘ handles
%Author: Denis Gilbert, Ph.D., physical oceanography
%Maurice Lamontagne Institute
%Dept. of Fisheries and Oceans Canada
%email: [email protected]  
%Web: http://www.qc.dfo-mpo.gc.ca/iml/
%April 2000; Last revision: 14-Nov-2001
if nargin==6
   ylabels{1}=‘ ‘; ylabels{2}=‘ ‘; ylabels{3}=‘ ‘;
elseif nargin > 7
   error(‘Too many input arguments‘)
elseif nargin < 6
   error(‘Not enough input arguments‘)
end
figure(‘units‘,‘normalized‘,...
      
‘DefaultAxesXMinorTick‘,‘on‘,‘DefaultAxesYminorTick‘,‘on‘);
[ax,hlines(1),hlines(2)] = plotyy(x1,y1,x2,y2);
cfig = get(gcf,‘color‘);
pos = [0.1  0.1  0.7  0.8];
offset = pos(3)/5.5;
pos(3) = pos(3) - offset/2;
set(ax,‘position‘,pos);  
pos3=[pos(1) pos(2) pos(3)+offset pos(4)];
limx1=get(ax(1),‘xlim‘);
limx3=[limx1(1)   limx1(1) + 1.2*(limx1(2)-limx1(1))];
ax(3)=axes(‘Position‘,pos3,‘box‘,‘off‘,...
   ‘Color‘,‘none‘,‘XColor‘,‘k‘,‘YColor‘,‘r‘,...   
   ‘xtick‘,[],‘xlim‘,limx3,‘yaxislocation‘,‘right‘);
hlines(3) = line(x3,y3,‘Color‘,‘r‘,‘Parent‘,ax(3));
limy3=get(ax(3),‘YLim‘);
line([limx1(2) limx3(2)],[limy3(1) limy3(1)],...
   ‘Color‘,cfig,‘Parent‘,ax(3),‘Clipping‘,‘off‘);
axes(ax(2))
set(get(ax(1),‘ylabel‘),‘string‘,ylabels{1})
set(get(ax(2),‘ylabel‘),‘string‘,ylabels{2})
set(get(ax(3),‘ylabel‘),‘string‘,ylabels{3})

实例:
在Commond Window里运行:

代码:

x = [0 0.1 0.2 0.3 0.4 0.426 0.5 0.6 0.688 0.7 0.8 0.9
1.0];
y = [268.95 272.36 275.07 277.07 277.93 278 276.5 267.16 248.2 244.3 200.37
137.71 58.7];
a = [0 0.225 0.408 0.566 0.693 0.718 0.776 0.82 0.831 0.831 0.818 0.784 0.6];
k = [2.55 2.254 2.063 1.886 1.733 1.687 1.552 1.368 1.207 1.187 1.023 0.873
0.6];
ylabels{1}=‘轴1‘;
ylabels{2}=‘轴2‘;
ylabels{3}=‘轴3‘;
[ax,hlines] = plotyyy(x,y,x,a,x,k,ylabels);
legend(hlines, ‘y = x‘,‘a =x‘,‘k = x‘,2)

时间: 2024-10-06 05:11:14

【转】MATLAB在一幅图上添加多个纵坐标轴的相关文章

MATLAB在一张图上画出多条曲线

在matlab中,经常遇到画图问题,甚至,有时候需要把其他软件中的数据,导出来,用matlab处理. 此处给出,用matlab处理数据的一些简单方法. 参考资料: MATLAB多条曲画到一张图上 MATLAB plot画出多条不同颜色的曲线 原文地址:https://www.cnblogs.com/Aaron12/p/9938695.html

在轮播上添加标题文字

在网站建设中,大家都需要用到轮播图来展示各种内容,当然单单图片未免显的单调,我们经常需要在轮播图上添加标题,如何做到在轮播上添加标题文字呢? 在 这里我们需要给标题部分的div进行定位,需要用到position: absolute;position 属性规定元素的定位类型.说明一下:这个属性定义建立元素布局所用的定位机制.任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本 身是什么类型.相对定位元素会相对于它在正常流中的默认位置偏移. 除了absolute这个生成绝对定位的元

MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息

MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息 1.添加标题.图例.x轴信息和y轴信息,示例: %% 添加标题 clear; clc; close all; x = 0:0.1:2*pi; y1 = sin(x); y2 = exp(-x); plot(x, y1, '--*', x, y2, ':o'); xlabel('t = 0 to 2\pi'); % 添加x轴信息 ylabel('values of sin(t) and e^{-x}') % 添加y轴信息 e^{-x

Java企业微信开发_08_JSSDK多图上传

一.本节要点 1.1可信域名 所有的JS接口只能在企业微信应用的可信域名下调用(包括子域名),可在企业微信的管理后台“我的应用”里设置应用可信域名.这个域名必须要通过ICP备案,不然jssdk会配置失败 1.2JS-SDK使用权限签名算法 1.2.1 签名生成规则如下: (1)参与签名的字段包括: noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) . (2)对所有待签名参数按照字段名的ASCII

Tableau小技巧-如何在柱状堆积图上方添加分类汇总

怎样利用tableau在柱状堆积图上方添加分类汇总 在柱状图上午显示数据标签,只需要将标签设置为"显示标记标签":但是有些时候柱状图需要按照某些维度进行细分,此时在使用标签设置,显示的结果是给每个细分板块添加上了标签,而看不到汇总的数据. 以下我们可以通过添加参考线来进行设置: 1.右键点击纵轴,选择"添加参考线" 2.在弹出的参考线设置对话框中按下图进行设置 选择 "线", 范围选择 "每单元格", 线选项,设定值为&quo

Hadoop阅读笔记(四)——一幅图看透MapReduce机制

时至今日,已然看到第十章,似乎越是焦躁什么时候能翻完这本圣经的时候也让自己变得更加浮躁,想想后面还有一半的行程没走,我觉得这样“有口无心”的学习方式是不奏效的,或者是收效甚微的.如果有幸能有大牛路过,请指教如何能以效率较高的方式学习Hadoop. 我已经记不清圣经<hadoop 实战2>在我手中停留了多久,但是每一页每一章的翻过去,还是在脑壳里留下了点什么. 一段时间以来,我还是通过这本书加深以及纠正了我对于MapReduce.HDFS乃至Hadoop的新的认识.本篇主要介绍MapReduce

微信朋友圈的图片上传,多图上传怎么去撸才合适?我们一起来实现吧!

微信朋友圈的图片上传,多图上传怎么去撸才合适?我们一起来实现吧! 图片上传是非常常见的功能,而多图上传在大多数应用中也是非常常见的,比如微信的朋友圈,微博的动态,都是有九宫格图片的,那这里肯定涉及了多图上传,所以今天我们来一起撸一下,怎么去思考这个实现逻辑! 这里我想到的思路是比较简单的,首先,我们有一个按钮,按钮是上传图片,点击之后弹出某个界面进行图片的选择,一般是九张图片或者十二张,选完之后就直接上传了,大致的流程应该是这个样子,那我们首先来写个按钮 activity_main.xml <?

怎么样用CAD快速看图软件添加标签

同PDF文件一样,CAD文件也需要自己的看图软件,但CAD文件却要比PDF文件复杂的多,在CAD快速看图软件中,我们该怎么样添加标签呢?本期教大家CAD快速看图软件添加标签方法. 1.想要给CAD添加标签,我们需要先下载安装一款CAD编辑工具,这里可以在浏览器中搜素迅捷CAD编辑器,请到安装的网站下载,这里可选择官网下载软件http://cad.xjpdf.com/. 2.然后打开下载好的迅捷CAD编辑器,打开软件后,在电脑中打开要查看的CAD文件,将文件用鼠标拖拽到软件界面,此时软件已经自动切

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

使用axes函数在matlab绘图中实现图中图的绘制 有时为了对细节进行详细说明,需要在一个较大坐标轴上绘制一个小图来对局部进行放大以阐述结果. 这可以通过调用axes函数实现. 下面通过绘制 y=1/(t-3) 的曲线举例说明该函数的使用方法. 程序如下: clc;clear;close all;