在 .fig matlab 上切换轴
Switch axes on .fig matlab
在编辑 .fig matlab 文件时,我想交换 x 轴和 y 轴而不用代码重新绘制绘图(不更改矢量数据的顺序)。我的问题有解决方案吗?图形属性菜单中是否有一些选项?提前致谢。
您可以直接访问每个绘图的 'XData'
和 'YData'
属性并交换它们:
c = get(gca,'children'); %// get children of axes
for n = 1:numel(children); %// for each children
set(c(n),'XData',get(c(n),'YData'),'YData',get(c(n),'XData')); %// swap XData, YData
end
除了 Luis 的回答之外,您还可以直接从 属性 检查器将当前轴 View
属性 设置为 [90 -90]
。
在编程上这等同于:
set(gca,'View',[90 -90])
注:
感谢 Luis 的更正。使用 [-90 90]
确实交换了轴,但是您需要反转 y 轴的方向。因此最好使用[90 -90]
。
简单示例:
交换前:
然后在更改视图后:
在编辑 .fig matlab 文件时,我想交换 x 轴和 y 轴而不用代码重新绘制绘图(不更改矢量数据的顺序)。我的问题有解决方案吗?图形属性菜单中是否有一些选项?提前致谢。
您可以直接访问每个绘图的 'XData'
和 'YData'
属性并交换它们:
c = get(gca,'children'); %// get children of axes
for n = 1:numel(children); %// for each children
set(c(n),'XData',get(c(n),'YData'),'YData',get(c(n),'XData')); %// swap XData, YData
end
除了 Luis 的回答之外,您还可以直接从 属性 检查器将当前轴 View
属性 设置为 [90 -90]
。
在编程上这等同于:
set(gca,'View',[90 -90])
注:
感谢 Luis 的更正。使用 [-90 90]
确实交换了轴,但是您需要反转 y 轴的方向。因此最好使用[90 -90]
。
简单示例:
交换前:
然后在更改视图后: