【发布时间】:2011-07-11 04:35:30
【问题描述】:
我在尝试以我想要的方式绘制一些数据时遇到了一些麻烦 - 任何建议都将不胜感激。
left 和 right 是长度为几十万的向量,在别处获得。
下面的代码绘制了left,两次 - 第二个图位于第一个图的顶部,大致朝向一个角落。
ax1 = axes;
plot(ax1, left, 'b');
set(ax1, 'xlim', [7.075*10^4 7.5*10^4]);
set(ax1, 'ylim', [-0.02 0.02]);
ax2 = axes('Position', get(ax1,'Position'), 'XAxisLocation', 'top', 'YAxisLocation', 'right', 'Color', 'none', 'XColor', 'k', 'YColor', 'k', 'NextPlot', 'add');
plot(ax2, left, 'b');
set(ax2, 'Units', 'normalized', 'Position', [0.6 0.60 0.25 0.25]);
我想做的是为right 做同样的事情,然后将每对图显示为一个子图,两个子图并排显示。我已经尝试调整上面的操作方式以使用子图,但显然我做错了,因为我一直在处理每个子图的内容并最终得到两个空子图。
另外,是否可以防止较小的插图具有透明背景?
【问题讨论】:
-
如果您使用
subplot,它会为您设置不同的轴位置。因此,如果您稍后更改轴位置(使用set命令),您可能会弄乱子图。如果您发布的代码不符合您的要求,这可能会有所帮助。 -
@IskarJarak:相关问题:stackoverflow.com/questions/1744667/plot-overlay-matlab
-
@Itamar Katz:+1 评论帮助我意识到出了什么问题。