我有两组点,用蓝色星号和红色圆点进行绘制。然后使用 voronoi(X,Y)
函数绘制这两组点的 Voronoi 图。我想根据每个细胞所属的点集指定其颜色。我已经通过使用 patch
函数几乎完成了这个任务,方法如下:
[v,c]=voronoin(D);
for p=1:TheNumberOfSets
r=rand()/2+0.5; % random gray color
col=[r r r];
for s=1:PointsInSet(p)
l=l+1;
patch(v(c{l},1),v(c{l},2),col); % color
axis([0 10 0 10]);
end
end
其中D
是集合点的坐标,TheNumberOfSets
表示我们有多少个集合(在这个特定部分中我们只有两个集合),col
指定一个随机灰色,PointsInSet
指定每个集合中有多少个点,l
用于列举 Voronoi 图的单元格。
现在我的问题(如您所见!)是关于无界单元格。这段代码仅更改有界单元格的颜色,我想用它们指定的集合颜色在轴框范围内(即您可以在图像中看到的框)中着色无界单元格。
有什么建议吗?
TheNumberOfSets
、PointsInSet
、l
、v
、c
、col
以及其他可能遗漏的示例信息吗?请参考MCVE上的帮助文件,了解如何制作一个合适的问题示例。 - Franz Hahnl
怎么样? - Franz Hahnl
和col
与问题无关,因此尽管更好的 MCVE 应该采用更直接的方法来定义它们,这是值得欢迎的,但我的答案忽略了这个示例的这个方面,并且只要l
是c
的有效索引,col
是有效的颜色,就可以工作。 - Will