MATLAB - 矩阵向量的散点图?

MATLAB - scatter plot of a vector by a matrix?

我是 Matlab 的新手。我正在尝试绘制 X,其中 X 是一个 100x1 向量,而 Y 是一个 100x10 矩阵。我希望结果是 X 与 10 个不同的 Y 值都在同一个图表中,每列的颜色不同。我能想到的绘制此矩阵每一列的唯一方法是使用 hold 命令,但随后我必须将其拆分,以便单独获取每一列。有没有简单的方法来做到这一点?

使用 repmatX 扩展为与 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')