我有一个大矩阵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
答案 0 :(得分:2)
您可以考虑使用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
答案 1 :(得分:1)
您可以选择使用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
这项技术的唯一问题是,由于环状绘图,你不能用数百万点绘制情节,但除此之外它就像一个魅力: