我正在构建一个MATLAB程序来可视化粒子聚类的模拟。 我们的模拟通常使用大约10000个粒子运行,并且簇可能大约为5000个粒子,我想按大小对簇进行着色,因此我插入了以下代码:
a=[1 1 1 500]; %means x=1 y=1 z=1 and clustersize=500
colormap(flipud(pink));
scatter3(a(:,1),a(:,2),a(:,3),repmat(10,numel(a(:,1)),1),a(:,4),'filled','MarkerEdgeColor', 'k')
并且在群集达到一定大小后,它变得“饱和”并且即使在生长到两倍大小时也会粘着相同的颜色。
我已经尝试使用colormap(hsv(1024));
来制作更大的彩色地图,但这对我来说也不是很好,因为我想要使用从浅到深的均匀渐变,现在必然会弄乱各种各样的颜色,如无法辨别。
任何想法如何伸展colormap(flipud(pink));
所以它只会在5000左右饱和?或者让我知道是否有其他解决方案会给我一个更高的“动态范围”
答案 0 :(得分:0)
好的,所以在尝试回答路易斯·门多时,我开始制作模拟的GIF,并决定在图中添加colorbar;
,然后我看到颜色条从一个图形到另一个图形。
我找到了代码
lowrange = 1;
highrange = 5000;
caxis manual
caxis([lowrange highrange]);
我之前用于另一次模拟的用于预先确定colorbar;
的范围。这显然意味着色彩图的范围也被“拉伸”或使用了预定的范围。
以下是来自模拟的两个剪辑,一个具有caxis
修正,一个没有,注意颜色条如何在没有修复的情况下改变,这导致粒子循环黑色(饱和)对于大多数模拟,无论簇大小如何。