MATLAB - 矩阵向量的散点图?
MATLAB - scatter plot of a vector by a matrix?
我是 Matlab 的新手。我正在尝试绘制 X
,其中 X
是一个 100x1 向量,而 Y
是一个 100x10 矩阵。我希望结果是 X
与 10 个不同的 Y
值都在同一个图表中,每列的颜色不同。我能想到的绘制此矩阵每一列的唯一方法是使用 hold
命令,但随后我必须将其拆分,以便单独获取每一列。有没有简单的方法来做到这一点?
使用 repmat
将 X
扩展为与 Y
相同的大小。尝试用 plot(X,Y)
绘制它们,如果看起来很奇怪,请转置每个 (plot(X',Y')
)。
您可以将 linespec 参数用于 select 线型、标记样式等。例如,plot(X,Y,'.')
表示每个顶点处的一个点,没有连接线。
您不需要使用 repmat
,只需使用 plot
而不是 scatter
:
plot(X,Y,'o')
这是一个例子:
% some arbitrary data:
X = linspace(-2*pi,2*pi,100).'; % size(X) = 100 1
Y = bsxfun(@plus,sin(X),rand(100,10)); % size(Y) = 100 10
% you only need the next line:
plot(X,Y,'o')
legend('show')
我是 Matlab 的新手。我正在尝试绘制 X
,其中 X
是一个 100x1 向量,而 Y
是一个 100x10 矩阵。我希望结果是 X
与 10 个不同的 Y
值都在同一个图表中,每列的颜色不同。我能想到的绘制此矩阵每一列的唯一方法是使用 hold
命令,但随后我必须将其拆分,以便单独获取每一列。有没有简单的方法来做到这一点?
使用 repmat
将 X
扩展为与 Y
相同的大小。尝试用 plot(X,Y)
绘制它们,如果看起来很奇怪,请转置每个 (plot(X',Y')
)。
您可以将 linespec 参数用于 select 线型、标记样式等。例如,plot(X,Y,'.')
表示每个顶点处的一个点,没有连接线。
您不需要使用 repmat
,只需使用 plot
而不是 scatter
:
plot(X,Y,'o')
这是一个例子:
% some arbitrary data:
X = linspace(-2*pi,2*pi,100).'; % size(X) = 100 1
Y = bsxfun(@plus,sin(X),rand(100,10)); % size(Y) = 100 10
% you only need the next line:
plot(X,Y,'o')
legend('show')