matlab的问题 请教高手

我现在有两个figure文件、两个文件横坐标一致、纵坐标不同、如图:纵坐标范围分别为[0~100]、[0~50]我想把这两个图放在一起比较、正常复制粘贴就会成这个样子:但... 我现在有两个figure文件、两个文件横坐标一致、纵坐标不同、

如图:

纵坐标范围分别为[0~100]、[0~50]

我想把这两个图放在一起比较、正常复制粘贴就会成这个样子:

但是为了纵向比较、我希望他俩在一个高度、就是他俩在一个图里分别采用不同的纵坐标、请问怎么做、、

不知道我的问题是否清晰了?
如果我想把三个放一起呢?[0~50]、[0~100]、[0~200]这样三个、又需要怎么做?
展开
 我来答
tianxiawulang
推荐于2017-12-16 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2631万
展开全部
% 注意:% 程序运行过程中会生成两个FIG文件用于测试:Sample1.fig和Sample2.fig

% 绘制第一个示例图并保存到文件
x = 0:.1:2*pi;
plot(x,sin(x),x,cos(x));
saveas(gcf,'Sample1.fig')
legend('sin','cos')

% 绘制第二个示例图并保存到文件
plot(x,5*sin(2*x),x,5*cos(3*x));
saveas(gcf,'Sample2.fig')
legend('sin','cos'族败)

close(gcf);

%=======================================
% 上面的兆答颤代码生成测试条件,后面为有用代码
%=======================================

% 载入fig文件
open('Sample1.fig')

% 删除legend避免繁杂的处理
lgd=findall(gcf,'type','axes','tag','legend');
delete(lgd)

% 查找线条对象,并获取数据
l=findobj(gcf,'type','line');
for i=1:length(l)
data(1).x{i}=get(l(i),'Xdata');
data(1).y{i}=get(l(i),'Ydata');
data(1).l{i}=get(l(i),'linestyle');
data(1).m{i}=get(l(i),'marker');
end

close(gcf)

open('Sample2.fig')

% 删除legend避免繁杂的处理
lgd=findall(gcf,'type','axes','tag','legend');
delete(lgd)

% 查找线条对象,并举局获取数据
l=findobj(gcf,'type','line');
for i=1:length(l)
data(2).x{i}=get(l(i),'Xdata');
data(2).y{i}=get(l(i),'Ydata');
data(2).l{i}=get(l(i),'linestyle');
data(2).m{i}=get(l(i),'marker');
end
close(gcf)

% 考虑到原始图形中各线条的点数可能不一致,所以先用足够范围的数据绘图,再修改
x1=[min([data(1).x{:}]); max([data(1).x{:}])];
y1=[min([data(1).y{:}]); max([data(1).y{:}])];
y1 = y1(:,ones(length(data(1).y),1));
x2=[min([data(2).x{:}]); max([data(2).x{:}])];
y2=[min([data(2).y{:}]); max([data(2).y{:}])];
y2 = y2(:,ones(length(data(1).y),1));

[ax,h{1},h{2}]=plotyy(x1,y1,x2,y2);

% 使用两种颜色区分两个纵坐标
c = {'b', 'k'};
for i=1:2
for j=1:length(h{i})
set(h{i}(j),'XData',data(i).x{j},'YData',data(i).y{j}, 'color', c{i}, 'linestyle', data(i).l{j}, 'marker', data(i).m{j});
end
set(ax(i),'YColor',c{i});
end
441867436
2013-02-05 · 超过35用户采纳过TA的回答
知道答主
回答量:125
采纳率:0%
帮助的人:73.9万
展开全部
为什么绘图的时候不绘制在一起呢?
追问
因为不知道最后需要把他们放一起。。。。= =
追答
你可以绘制完第一个图以后,用hold on 命令   然后再绘制下一个图
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yanglei5658
2013-02-05 · TA获得超过4756个赞
知道大有可为答主
回答量:835
采纳率:100%
帮助的人:521万
展开全部
两个坐标轴的话可以看看plotyy。
三个在一块,就没有办法了。
追问
能不能从fig文件直接操作呢?
追答

刚才看了看,没有找到。

来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式