【问题标题】:matlab colormap with three columns具有三列的matlab颜色图
【发布时间】:2015-02-10 09:06:59
【问题描述】:

我想在 matlab 中绘制一个包含三列的颜色图。 我可以用plot3 如下图,

x = [1 1 1 1 2 2 2 2 4 4 4 4 5 5 5 5 9 9 9 9]; 
y = [2 3 4 5 5 6 7 8 4 5 6 7 1 2 3 4 7 8 9 10];
z = [1 3 2 4 5 6 7 3 9 8 8 9 2 4 3 5 1 2 3 1];
plot3(x, y, z, 'o')

但是如何绘制具有三列的 2D 彩色图呢?

【问题讨论】:

  • 您使用的是colormap 这个词,它可能并不代表您认为的意思。在该行中,您没有使用颜色图。
  • 你能手绘(例如在油漆中)你想要的东西的例子并贴上它的链接吗?
  • 即使你不使用颜色图,如果你想做同样的事情,但在 2D 中你应该plot(x,y,'o')
  • 嗨,Ander 和 Dan,感谢您的 cmets,Bla 的以下回答显示了我想要的。 :)

标签: matlab plot colormap


【解决方案1】:

选项 1:

如果我理解正确,您想绘制一个二维数组(比如m(x,y)),其中颜色由z 给出。方法是这样的:

m=zeros(max(x),max(y));    % preallocate m according to values of x,y
m(sub2ind(size(m),x,y))=z; % assign z-values to the x,y coordinates
imagesc(m)                 % plot
colormap(pink(max(z)));    % set colormap with the dynamic range of z.
                           % you can replace it with jet or whatever...
colorbar                   % add a colorbar

选项 2:

您真的只是想从x,y,z 创建 am RGB 颜色图:

cmap=[x(:) y(:) z(:)]./max([x(:);y(:);z(:)]);
imagesc(peaks(100)); 
colormap(cmap);

【讨论】:

  • Plus 1 - 顺便说一句,很高兴看到你再次发帖。好久没看到你的回复了。
猜你喜欢
  • 2014-05-26
  • 2013-06-21
  • 2015-01-09
  • 1970-01-01
  • 2020-03-08
  • 2014-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多