| VoronoiBiomedPlot-package | R Documentation |
Creates visualization plots for 2D data including ellipse plots, Voronoi tesselation plots, and combined ellipse-Voronoi plots. Designed to visualize class separation in 2D data, raw of from projection techniques like principal component analysis (PCA), partial least squares discriminant analysis (PLS-DA) or others. For more details see Lotsch and Kringel (2026) and Lotsch, J., and Kringel, D. (2026) <doi:10.1371/journal.pone.0333653>.
The VoronoiBiomedPlot package provides functions for creating visualization plots of 2D data, particularly useful for biomedical data analysis and dimensionality reduction results. The package includes two main functions:
create_tesselation_plots: Creates three types of plots (ellipse, Voronoi, and combined)
create_voronoi_plot: Creates standalone Voronoi tessellation plots
These functions are designed to visualize class separation in two-dimensional raw or projected data, such as dimensionally reduced
data from techniques like PCA, PLS-DA, UMAP, or other projection methods, commonly
used in biomedical research.
Voronoi tessellation divides the plot space into regions based on proximity to data
points, providing an intuitive visualization of class boundaries and decision regions.
Confidence ellipses show the distribution spread and correlation structure within each class.
Both functions support an optional Voronoi island count, a visualization-intrinsic
metric that quantifies class structure disruption by identifying data points whose
Voronoi cells are entirely surrounded by cells of a different class. This metric
has no equivalent in confidence ellipse visualizations and can be displayed as a
plot subtitle via the show_island_count parameter.
Jorn Lotsch <j.lotsch@em.uni-frankfurt.de>
Lötsch, J. and A. Ultsch (2024). Comparative assessment of projection and clustering method combinations in the analysis of biomedical data. Informatics in Medicine Unlocked 50: 101573. https://www.sciencedirect.com/science/article/pii/S2352914824001291
# Load the iris dataset
data <- iris[, c("Sepal.Length", "Petal.Length", "Species")]
# Create comprehensive tesselation plots
plots <- create_tesselation_plots(
data = data,
class_column = "Species",
legend_position = "bottom",
add_grid_lines = FALSE
)
# Access individual plots
# plots$ellipse_plot
# plots$voronoi_plot
# plots$voronoi_plot_plus_ellipse
# Create standalone Voronoi plot
voronoi_plot <- create_voronoi_plot(
data = data,
class_column = "Species",
legend_position = "bottom",
add_grid_lines = FALSE
)
# Create standalone Voronoi plot with island count displayed as subtitle
voronoi_plot_islands <- create_voronoi_plot(
data = data,
class_column = "Species",
legend_position = "bottom",
add_grid_lines = FALSE,
show_island_count = TRUE
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.