我需要在不同位置沿斜线绘制多个图。
例如,如果我:
plot(0:200,'k');
plotpts = 5:5:200;
我希望能够在原始 0:200 线顶部的每个 plotpts 上绘制一个较小的图。
我知道你可以使用
hold on
并以这种方式在顶部绘图,但我每次都需要更改我的原点。有没有人有什么建议?我真的很想留在matlab。谢谢! 最佳答案
这是我通常这样做的灵活方式:
plot(1:10, 'k')
plotpts = 2:2:8;
mainbox = get(gca, 'Position');
xlims = get(gca, 'XLim');
ylims = get(gca, 'Ylim');
for i=1:length(plotpts)
originx = mainbox(1) + (plotpts(i) - xlims(1)) * (mainbox(3)) / (xlims(2) - xlims(1));
originy = mainbox(2) + (plotpts(i) - ylims(1)) * (mainbox(4)) / (ylims(2) - ylims(1));
axes('position', [originx originy 0.1 0.1], 'Color', 'none')
% Do some plotting here...
end
关于matlab - 在 Matlab 中的另一个图上绘制一个子图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8231369/