繁体   English   中英

3D 使用 Matlab 中的 scatter3 和颜色图进行绘图; 颜色条缩放不正确

[英]3D plotting using scatter3 in Matlab with a colormap; the colorbar scaling is not correct

这应该很简单,但是我无法缩放自定义颜色 map 以匹配我正在绘制的值范围。 我不太明白如何让颜色条上的范围与 Z 维数据的范围相匹配。 这是我试图开始工作的一个简单示例:

maxval = 5;
num = 10;
X = linspace(0,maxval,num);
Y = linspace(0,maxval,num);
Z = linspace(0,maxval,num);
cMap = interp1([0;1],[1 .5 0; .5 1 0],linspace(0,1,num));
scatter3(X,Y,Z,50,cMap,'Filled');
view(-75,20);
colormap(cMap)
colorbar

这给出了这个:

示例图

在此示例中,我希望颜色栏中的顶部值为 5。 我尝试修改 interp1 function 中的 [0;1],但我似乎无法获得正确的设置。

我使用的是 2017a 版本,如果这很重要的话。

scatter3中的第 5 个输入可以代表一个完全独立的数据轴。 如果希望颜色与 Z 轴数据匹配,则需要传入两次。

自定义颜色图(可以是与数据不同的大小)插入到第 5 个输入以进行显示。

务实地说,我认为您想对代码进行以下更改:

maxval = 5;
num = 10;
X = linspace(0,maxval,num);
Y = linspace(0,maxval,num);
Z = linspace(0,maxval,num);
cMap = interp1([0;1],[1 .5 0; .5 1 0],linspace(0,1,num));
scatter3(X,Y,Z,50,cMap,'Filled');   % <-- note change here
view(-75,20);
colormap(cMap)
colorbar

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM