| Type: | Package | 
| Title: | Shape Foundry & Geom for 'ggplot2' | 
| Version: | 0.3.1 | 
| Description: | A 'ggplot2' extension that supports arbitrary hand-crafted colourable & fillable shapes. New shapes may be feature requested via a Github issue. | 
| License: | MIT + file LICENSE | 
| Encoding: | UTF-8 | 
| Depends: | ggplot2 (≥ 3.5.0), R (≥ 4.1) | 
| Imports: | cli, grid, grImport2, lifecycle, rlang | 
| Suggests: | dplyr, forcats, ggimage, httr, knitr, rmarkdown, spelling, stringr, testthat (≥ 3.0.0) | 
| Config/testthat/edition: | 3 | 
| RoxygenNote: | 7.3.1 | 
| VignetteBuilder: | knitr | 
| URL: | https://github.com/cgoo4/ggfoundry, https://cgoo4.github.io/ggfoundry/ | 
| BugReports: | https://github.com/cgoo4/ggfoundry/issues | 
| Language: | en-GB | 
| NeedsCompilation: | no | 
| Packaged: | 2024-07-06 15:29:59 UTC; carlgoodwin | 
| Author: | Carl Goodwin [aut, cre, cph] | 
| Maintainer: | Carl Goodwin <carl.goodwin@quantumjitter.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2024-07-06 15:42:02 UTC | 
ggfoundry: Shape Foundry & Geom for 'ggplot2'
Description
 
A 'ggplot2' extension that supports arbitrary hand-crafted colourable & fillable shapes. New shapes may be feature requested via a Github issue.
Author(s)
Maintainer: Carl Goodwin carl.goodwin@quantumjitter.com [copyright holder]
See Also
Useful links:
- Report bugs at https://github.com/cgoo4/ggfoundry/issues 
Display a palette using fillable shapes
Description
Creates a visualisation of a chosen palette with each colour in the selected fillable shape.
Usage
display_palette(
  fill,
  pal_name,
  colour = "grey50",
  color = colour,
  shape = c("jar", "tube")
)
Arguments
| fill | The colour of the shape fill. | 
| pal_name | A character string for the name of the palette. | 
| colour,color | The colour of the shape outline. Defaults to mid-grey to better support a website's light and dark mode. | 
| shape | A character string for the name of the shape, e.g. "jar". | 
Value
A ggplot2 object.
Examples
display_palette(
  c("skyblue", "lightgreen", "pink", "bisque"),
  "Custom Palette Names"
  )
display_palette(
  c("#9986A5", "#79402E", "#CCBA72", "#0F0D0E", "#D9D0D3", "#8D8680"),
  "Vector of Hex Codes",
  shape = "tube",
  colour = "black"
  )
display_palette(
  c(
    "#423C29", "#333031", "#8F898B", "#D2C9CB", "#AFA7A5", "#8D8680",
    "#9986A5", "#8A666E", "#7B4638", "#976C46", "#BCA365", "#988A56"
    ),
  "Multiple Rows"
  )
Arbitrary hand-crafted fillable shapes for ggplot2
Description
Arbitrary hand-crafted colourable and fillable shapes for ggplot2.
New shapes may be feature requested via a Github issue.
Usage
geom_casting(
  mapping = NULL,
  data = NULL,
  stat = "identity",
  position = "identity",
  ...,
  na.rm = FALSE,
  show.legend = NA,
  inherit.aes = TRUE
)
Arguments
| mapping | Set of aesthetic mappings created by  | 
| data | The data to be displayed in this layer. There are three options: If  A  A  | 
| stat | The statistical transformation to use on the data for this layer.
When using a  
 | 
| position | A position adjustment to use on the data for this layer. This
can be used in various ways, including to prevent overplotting and
improving the display. The  
 | 
| ... | Other arguments passed on to  
 | 
| na.rm | If  | 
| show.legend | logical. Should this layer be included in the legends?
 | 
| inherit.aes | If  | 
Details
Behind the scenes, a pair of hand-drawn vector images (outline & fill) are converted into Cairo graphics library SVG files, then into grid graphical objects (grobs) for use in a ggplot2 layer.
By default, the "violin" shape is used.
If the shape is mapped to a variable, e.g. aes(shape = factor(cyl)), then
scale_shape_manual() is also required to explicitly name the desired
shapes as a character vector (see examples). This is because standard
shapes are associated with a number, e.g. a circle is 19, whereas
geom_casting() shapes are associated only with character strings.
In addition to the supported aesthetics below, nudge_x, nudge_y,
hjust and vjust are also respected.
Value
A geom layer that can be added to a ggplot.
Aesthetics
geom_casting() understands the following
aesthetics (required aesthetics are in bold):
-  x
-  y
-  alpha
-  angle
-  colour
-  fill
-  group
-  shape
-  size
Learn more about setting these aesthetics in
vignette("ggplot2-specs")
Examples
library(ggplot2)
# "Baby violin" shape by default
p <- ggplot(mtcars, aes(wt, mpg))
p + geom_casting()
# Change shape & fill
p + geom_casting(shape = "box", fill = "lightgreen")
# Shapes mapped to a variable
ggplot(mtcars, aes(wt, mpg, fill = factor(cyl))) +
  geom_casting(aes(shape = factor(cyl))) +
  scale_shape_manual(values = c("violin", "dendro", "box"))
Get the names of available shapes
Description
Create a data frame of available shapes and associated sets. This may be
filtered and used as a vector of strings in scale_shape_manual().
Usage
shapes_cast()
Value
A data frame of available sets and shapes.
Examples
# Returns a data frame of available shapes
shapes_cast()