如何让colormap对应纵坐标?

How to make the colormap correspond to the vertical coordinate?

考虑以下示例:

x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
c = linspace(1,10,length(x));
figure(); scatter(x,y,[],c);
colorbar

在这个例子中,数据点的颜色对应于水平坐标。相反,我希望颜色对应于垂直坐标。我怎样才能做到这一点?

您应该使用 y 作为颜色索引:

scatter(x,y,[],y);

结果: