在Matlab中,如何交换现有绘图的水平轴和垂直轴
假设我有向量x和y,我知道我可以做在Matlab中,如何交换现有绘图的水平轴和垂直轴,matlab,plot,axes,Matlab,Plot,Axes,假设我有向量x和y,我知道我可以做plot(x,y)或plot(y,x)来实现我想要的。然而,我的问题是:如果我已经在图形中创建了一个绘图,如plot(x,y),我如何以编程方式交换水平轴和垂直轴,以便有效地说plot(y,x)?有趣的问题+1。以下示例显示如何交换当前图形的x和y轴: X = (1:100)'; %# Create x axis data Y = randn(100, 1); %# Create y axis data plot(X, Y); %# Plot the data
plot(x,y)
或plot(y,x)
来实现我想要的。然而,我的问题是:如果我已经在图形中创建了一个绘图,如plot(x,y)
,我如何以编程方式交换水平轴和垂直轴,以便有效地说plot(y,x)
?有趣的问题+1。以下示例显示如何交换当前图形的x
和y
轴:
X = (1:100)'; %# Create x axis data
Y = randn(100, 1); %# Create y axis data
plot(X, Y); %# Plot the data
view(-90, 90) %# Swap the axes
set(gca, 'ydir', 'reverse'); %# Reverse the y-axis (Optional step)
另外,Matlab Central的一个相关链接是。您能分享一下它实际上需要做什么吗?虽然两个向量都准备好了,但这似乎很有趣……你是说你的内存中不再有
x
和y
?@noufal我使用的是一个我控制有限的GUI(虽然我可以添加它,但我不能从根本上改变它的结构)。GUI以一种特定的方式显示出轴排列的绘图,我需要相反的方式。由于我对GUI本身的控制有限,这是唯一的选择…@dan是的,我确实在内存中有它们。如果它们在内存中,那么为什么不直接绘制(y,x)?