geom_scatterpie: geom_scatterpie

View source: R/geom_scatterpie.R

geom_scatterpieR Documentation

geom_scatterpie

Description

scatter pie plot

Usage

geom_scatterpie(
  mapping = NULL,
  data,
  cols,
  pie_scale = 1,
  sorted_by_radius = FALSE,
  legend_name = "type",
  long_format = FALSE,
  donut_radius = NULL,
  bg_circle_radius = NULL,
  ...
)

Arguments

mapping

aes mapping

data

data

cols

cols the pie data

pie_scale

amount to scale the pie size if there is no radius mapping exists

sorted_by_radius

whether plotting large pie first

legend_name

name of fill legend

long_format

logical whether use long format of input data

donut_radius

numeric the radius of donut chart (relative the radius of circle), default is NULL. it should be between 0 and 1, if it is provided, the donut chart will be displayed instead of pie chart.

bg_circle_radius

numeric the radius of background circle, default is FALSE, we suggest setting it to between 1 and 1.5 .

...

additional parameters

Value

layer

Author(s)

Guangchuang Yu

Examples

library(ggplot2)
d <- data.frame(x=rnorm(5), y=rnorm(5))
d$A <- abs(rnorm(5, sd=1))
d$B <- abs(rnorm(5, sd=2))
d$C <- abs(rnorm(5, sd=3))
ggplot() + geom_scatterpie(aes(x=x, y=y), data=d, cols=c("A", "B", "C")) + coord_fixed()
d <- tidyr::gather(d, key="letters", value="value", -x:-y)
ggplot() + geom_scatterpie(aes(x=x, y=y), data=d, cols="letters", long_format=TRUE) + coord_fixed()
p1 <- ggplot() + 
      geom_scatterpie(
        mapping = aes(x=x, y=y), data=d, cols="letters", 
        long_format=TRUE, 
        donut_radius=.5
      ) + 
      coord_fixed()
p1
p2 <- ggplot() + 
      geom_scatterpie(
        mapping = aes(x=x, y=y), data=d, cols="letters", 
        long_format=TRUE, 
        donut_radius = .5, 
        bg_circle_radius = 1.2
      ) + 
      coord_fixed()
p2
d |> dplyr::select(c(x, y)) |> dplyr::distinct() |> dplyr::mutate(Cell=c('A','A','B','C','B')) -> d2
d |> dplyr::left_join(d2) -> d3
d3$r_size <- c(2, 3, 4, 5, 6) * .01

head(d3)
p3 <- ggplot() +
     geom_scatterpie(data = d3, mapping = aes(x=x, y=y, r = r_size, color=Cell), cols="letters",
                     long_format=TRUE, donut_radius=.5, color = NA, linewidth=2,
                      bg_circle_radius=1.2) + coord_fixed()
p3


GuangchuangYu/scatterpie documentation built on April 22, 2024, 5:40 p.m.