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()