The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Type: Package
Title: A Small Package for Drawing Various Combinations of Circles
Version: 0.1.0
Description: Contains the adaptation of bubblebath from 'MATLAB', developed by Adam Danz and available through the 'MATLAB' Central File Exchange, and the tools to transform a dataframe of radii and points to plot-able paths.
Maintainer: Ryan ODea <ryanodea@hsph.harvard.edu>
URL: https://github.com/ryan-odea/circles
BugReports: https://github.com/ryan-odea/circles/issues
License: MIT + file LICENSE
Encoding: UTF-8
RoxygenNote: 7.3.2
Imports: data.table
NeedsCompilation: no
Packaged: 2025-04-29 15:09:36 UTC; odear
Author: Ryan ODea [aut, cre]
Repository: CRAN
Date/Publication: 2025-05-02 09:20:11 UTC

Generate Bubble Bath (Chart) Dataframe

Description

Creates a dataset of circles ("bubbles") with random centers and specified radii. When overlap is FALSE, circles are placed so they do not overlap.

Usage

bubblebath(
  frameSize = c(50, 50),
  circSize = seq(0.2, 5, length.out = 25),
  maxCircsPerRad = 10000,
  max_iter = 10000,
  density = 0.7,
  overlap = FALSE,
  suppressWarning = FALSE
)

Arguments

frameSize

A numeric vector of length 2 defining the frame's width and height (centered at 0).

circSize

A numeric vector specifying the radii of circles to place. If length is 2, it's interpreted as min and max for a sequence. If length > 2, the exact values are used as radii.

maxCircsPerRad

Maximum number of circles per radius.

max_iter

Maximum attempts to place each circle.

density

Density of circles, between 0 and 1.

overlap

Logical; if FALSE, circles won't overlap.

suppressWarning

Logical; if TRUE internal warnings are suppressed.

Value

A data frame with columns x, y, and r (circle centers and radii).

Examples

# Create bubble bath points
circles <- bubblebath(circSize = c(0.5, 1, 2, 3), overlap = FALSE)

Generate Points for Drawing Circles

Description

Creates points along the perimeter of a circle for plotting as a path.

Usage

draw_circles(data, x_col = "x", y_col = "y", r_col = "r", n_points = 500)

Arguments

data

A data frame containing circle data (centers and radii).

x_col

Name of the column containing x-coordinates of circle centers.

y_col

Name of the column containing y-coordinates of circle centers.

r_col

Name of the column containing circle radii.

n_points

Number of points to generate around each circle perimeter.

Value

A dataframe with x, y coordinates for plotting and group identifier per circle plotted.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.