【问题标题】:pcolor in scatter plot matlab散点图matlab中的pcolor
【发布时间】:2013-04-04 14:27:43
【问题描述】:

我有一个大矩阵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

【问题讨论】:

标签: matlab colors plot


【解决方案1】:

您可以考虑使用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

【讨论】:

    【解决方案2】:

    您可以像这样从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
    

    这种技术的唯一问题是,由于循环绘图,您无法绘制具有数百万个点的绘图,否则它就像一个魅力:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-27
      • 2013-02-12
      • 2013-12-17
      • 2013-08-17
      • 1970-01-01
      • 2017-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多