我有一个大矩阵 DAT(50000+,42)
。我在 x 和 y 轴上绘制了该矩阵的 2 行,并且希望绘图点的颜色由于单独行的值而变化。有人可以建议吗?pcolor
由于“颜色数据输入必须是矩阵”错误,对我不起作用。TIA
X = DAT(:,21);
Y = DAT(:,22);
Z = DAT(:,28);
plot(X,Y,'*');
hold on
pcolor(X,Y,Z);
hold off
您可以考虑使用scatter()
% random sample data
DAT = randn(30,42);
X = DAT(:,21);
Y = DAT(:,22);
Z = DAT(:,28);
scatter(X,Y,50,Z); % x,y,size,color -> size can also be a vector
% scatter(X,Y,50,Z,'*'); % to also change the marker type
您可以从生成的数组中选择颜色,colormap
如下所示:
DAT = randn(30,42);
X = DAT(:,21);
Y = DAT(:,22);
Z = DAT(:,28);
[dummy ID]=sort(Z);
colors=colormap(jet(length(Z)));
figure
for i=1:length(Z)
plot(X(i),Y(i),'*','Color',colors(ID(i),:));
hold on
end
这种技术的唯一问题是,由于循环绘图,您无法绘制具有数百万个点的绘图,但除此之外它就像一个魅力: