CluGen.jl
CluGen.jl is a Julia implementation of the clugen algorithm for generating multidimensional clusters with arbitrary distributions. Each cluster is supported by a line segment, the position, orientation and length of which guide where the respective points are placed.
See the documentation and examples for more details.
Installation
Pkg.add("CluGen")
Quick start
using CluGen, Plots
o = clugen(2, 4, 400, [1, 0], pi / 8, [20, 10], 10, 1, 1.5)
p = plot(o.points[:, 1], o.points[:, 2], seriestype=:scatter, group=o.clusters)
o = clugen(3, 4, 1000, [1, 0, 1], pi / 8, [20, 15, 25], 16, 4, 3.5)
p = plot(o.points[:, 1], o.points[:, 2], o.points[:, 3], seriestype=:scatter, group=o.clusters)
See also
- pyclugen, a Python implementation of the clugen algorithm.
- clugenr, an R implementation of the clugen algorithm.
- MOCluGen, a MATLAB/Octave implementation of the clugen algorithm.
Reference
If you use this software, please cite the following reference:
- Fachada, N. & de Andrade, D. (2023). Generating Multidimensional Clusters With Support Lines. https://doi.org/10.48550/arXiv.2301.10327.