我目前正在写一篇涉及无监督学习/聚类的硕士论文。我希望用一个图形来说明聚类的基本概念。我希望绘制的图形应该看起来有点像维基百科上的这张图片: https://en.wikipedia.org/wiki/Cluster_analysis#/media/File:KMeans-Gaussian-data.svg
我怎样才能在 LaTeX 中绘制类似的图形?
提前致谢。
答案1
元帖子提供了一个normaldeviate
命令,它会给你高斯随机数,你可以将其添加到给定的坐标中。下面是使用它来绘制簇的一种方法。
prologues := 3;
outputtemplate := "%j%c.eps";
% draw n random points centered on Z with r scattering
vardef draw_cluster(expr Z, n, r, marker) =
for i=1 upto n:
draw marker shifted Z shifted (r*normaldeviate, r*normaldeviate);
endfor
enddef;
beginfig(1);
u = 1cm;
z1 = (2u, 6.4u);
z2 = (u, 4.2u);
picture mark[];
mark1 = image(draw fullcircle scaled 3 withcolor .67 blue);
mark2 = image(draw fullcircle scaled 3 withcolor .67 red);
randomseed := 1701;
draw_cluster(z1, 32, 0.8u, mark1);
draw_cluster(z2, 24, 0.3u, mark2);
endfig;
end.