[英]pcolor in scatter plot matlab
我有一个大矩阵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
这种技术的唯一问题是,由于循环绘图,你不能用数百万点绘制情节,但除此之外它就像一个魅力:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.