Title: | Create Sector and Other Charts Easily Using Grammar of Graphics |
Version: | 0.1.0 |
Description: | A collection of several geoms to create graphics, using 'ggplot2' and the Cartesian coordinate system. You use the familiar mapping 'Grammar of Graphics' without the need to do another transformation into polar coordinates. |
License: | MIT + file LICENSE |
URL: | https://github.com/AbdoulMa/ggtricks, https://abdoulma.github.io/ggtricks/ |
BugReports: | https://github.com/AbdoulMa/ggtricks/issues |
Imports: | cli, ggplot2 |
Suggests: | covr, rmarkdown, testthat (≥ 3.0.0) |
Config/Needs/website: | tidyverse |
Config/testthat/edition: | 3 |
Encoding: | UTF-8 |
RoxygenNote: | 7.2.3 |
NeedsCompilation: | no |
Packaged: | 2023-05-09 16:42:23 UTC; abdoul-ma |
Author: | Abdoul ISSA BIDA [aut, cre] |
Maintainer: | Abdoul ISSA BIDA <contact@abdoulblog.com> |
Repository: | CRAN |
Date/Publication: | 2023-05-10 16:00:05 UTC |
ggtricks: Create Sector and Other Charts Easily Using Grammar of Graphics
Description
A collection of several geoms to create graphics, using 'ggplot2' and the Cartesian coordinate system. You use the familiar mapping 'Grammar of Graphics' without the need to do another transformation into polar coordinates.
Author(s)
Maintainer: Abdoul ISSA BIDA contact@abdoulblog.com
See Also
Useful links:
Report bugs at https://github.com/AbdoulMa/ggtricks/issues
See ggplot2::Geom
Description
See ggplot2::Geom
See ggplot2::Geom
Description
See ggplot2::Geom
See ggplot2::Geom
Description
See ggplot2::Geom
See ggplot2::Geom
Description
See ggplot2::Geom
Create series of circles labels text
Description
geom_series_text
is designed to be used in concert with geom_series_circles.
It renders the label
mapping to the final position of the series of circles sequence.
There are three arguments absolutely needed in aes()
mappings:
-
x
A vector mapping the abscissa axisx
, i.e. a character vector whenx
is a numerical vector, or a numerical vector wheny
is a character vector. -
y
A vector mapping the ordinate axisy
, i.e. a numerical vector whenx
is a character vector or vice versa. -
label
Labels.
Usage
GeomSeriesText
geom_series_text(
mapping = NULL,
data = NULL,
position = "identity",
show.legend = NA,
na.rm = FALSE,
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 |
position |
Position adjustment, either as a string, or the result of
a call to a position adjustment function. Cannot be jointly specified with
|
show.legend |
logical. Should this layer be included in the legends?
|
na.rm |
If |
inherit.aes |
If |
... |
Other arguments passed on to |
Format
An object of class GeomSeriesText
(inherits from GeomText
, Geom
, ggproto
, gg
) of length 1.
Value
A ggplot2 layer.
Examples
my_df <- data.frame(cat = c("Apple", "Banana", "Pineapple"), val = c(2.65, 4.5, 6.25))
my_df |>
ggplot2::ggplot() +
geom_series_circles(ggplot2::aes(cat, val)) +
geom_series_text(ggplot2::aes(cat, val, label = cat)) +
ggplot2::coord_equal()
See ggplot2::Geom
Description
See ggplot2::Geom
See ggplot2::Geom
Description
See ggplot2::Geom
See ggplot2::Geom
Description
See ggplot2::Geom
See ggplot2::Geom
Description
See ggplot2::Geom
See ggplot2::Geom
Description
See ggplot2::Geom
See ggplot2::Geom
Description
See ggplot2::Geom
See ggplot2::Geom
Description
See ggplot2::Geom
Create donut plot using Cartesian coordinates system
Description
There are two arguments absolutely needed in aes()
mappings:
-
cat
A discrete categories vector. -
val
A numerical values vector.
Usage
geom_donut(
mapping = NULL,
data = NULL,
show.legend = NA,
na.rm = FALSE,
inherit.aes = TRUE,
init_angle = 0,
x0 = 0,
y0 = 0,
r1 = 1,
r2 = 0.65,
color = "black",
alpha = 1,
linewidth = 0.5,
spotlight_max = FALSE,
spotlight_cat = NULL,
spotlight_position = NULL,
labels_with_tick = FALSE,
labels_family = "",
labels_size = 5,
labels_col = "black",
labels_hjust = 0.5,
labels_vjust = 0.5,
labels_fontface = "plain",
labels_lineheight = 1.2,
tick_lwd = 1,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
to be displayed in this layer |
show.legend |
logical. Should this layer be included in the legends?
|
na.rm |
If |
inherit.aes |
If |
init_angle |
Starting angle |
x0 |
Init position x |
y0 |
Init position y |
r1 |
Outer circle radius |
r2 |
Inner circle radius, should inferior to |
color |
Plot border colour |
alpha |
Filling colour transparency [0,1] |
linewidth |
Plot border size |
spotlight_max |
|
spotlight_cat |
Should be a value inside categories vector. When it is provided, it is this category position which drives the positions of all categories |
spotlight_position |
It is used to position the category spotlighted.
Value should be in |
labels_with_tick |
|
labels_family |
Labels font family |
labels_size |
Labels font size |
labels_col |
Labels colour |
labels_hjust |
Labels horizontal adjusting |
labels_vjust |
Labels vertical adjusting |
labels_fontface |
Labels font face |
labels_lineheight |
Labels line height |
tick_lwd |
Ticks Size |
... |
other arguments passed on to |
Value
A ggplot2 layer.
Examples
my_df <- data.frame(cat = c("Apple", "Banana", "Pineapple"), val = c(2.65, 4.5, 6.25))
my_df |>
ggplot2::ggplot() +
geom_donut(ggplot2::aes(cat = cat, val = val)) +
ggplot2::coord_equal()
Create donut slice plot using Cartesian coordinates system
Description
There are two arguments absolutely needed in aes()
mappings:
-
cat
A discrete categories vector. -
val
A numerical values vector.
Usage
geom_donut_slice(
mapping = NULL,
data = NULL,
show.legend = NA,
na.rm = FALSE,
inherit.aes = TRUE,
slice_angle = 180,
init_angle = 0,
x0 = 0,
y0 = 0,
r1 = 1,
r2 = 0.65,
color = "black",
alpha = 1,
linewidth = 0.5,
slice_position = NA,
labels_with_tick = FALSE,
link_with_origin = FALSE,
labels_family = "",
labels_size = 5,
labels_col = "black",
labels_hjust = 0.5,
labels_vjust = 0.5,
labels_fontface = "plain",
labels_lineheight = 1.2,
tick_lwd = 1,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
to be displayed in this layer |
show.legend |
logical. Should this layer be included in the legends?
|
na.rm |
If |
inherit.aes |
If |
slice_angle |
Pie slice angle |
init_angle |
Starting angle |
x0 |
Init position x |
y0 |
Init position y |
r1 |
Outer circle radius |
r2 |
Inner circle radius, should inferior to |
color |
Plot border colour |
alpha |
Filling colour transparency [0,1] |
linewidth |
Plot border size |
slice_position |
Pie slice position |
labels_with_tick |
|
link_with_origin |
|
labels_family |
Labels font family |
labels_size |
Labels font size |
labels_col |
Labels colour |
labels_hjust |
Labels horizontal adjusting |
labels_vjust |
Labels vertical adjusting |
labels_fontface |
Labels font face |
labels_lineheight |
Labels line height |
tick_lwd |
Ticks Size |
... |
other arguments passed on to |
Value
A ggplot2 layer.
Examples
my_df <- data.frame(cat = c("Apple", "Banana", "Pineapple"), val = c(2.65, 4.5, 6.25))
my_df |>
ggplot2::ggplot() +
geom_donut_slice(ggplot2::aes(cat = cat, val = val)) +
ggplot2::coord_equal()
Create pie plot using Cartesian coordinates system
Description
There are two arguments absolutely needed in aes()
mappings:
-
cat
A discrete categories vector. -
val
A numerical values vector.
Usage
geom_pie(
mapping = NULL,
data = NULL,
show.legend = NA,
na.rm = FALSE,
inherit.aes = TRUE,
init_angle = 0,
x0 = 0,
y0 = 0,
radius = 1,
color = "black",
alpha = 1,
linewidth = 0.5,
spotlight_max = FALSE,
spotlight_cat = NULL,
spotlight_position = NULL,
labels_with_tick = FALSE,
labels_family = "",
labels_size = 5,
labels_col = "black",
labels_hjust = 0.5,
labels_vjust = 0.5,
labels_fontface = "plain",
labels_lineheight = 1.2,
tick_lwd = 1,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
to be displayed in this layer |
show.legend |
logical. Should this layer be included in the legends?
|
na.rm |
If |
inherit.aes |
If |
init_angle |
Starting angle |
x0 |
Init position x |
y0 |
Init position y |
radius |
Driving circle radius |
color |
Plot border colour |
alpha |
Filling colour transparency [0,1] |
linewidth |
Plot border size |
spotlight_max |
|
spotlight_cat |
Should be a value inside categories vector. When it is provided, it is this category position which drives the positions of all categories |
spotlight_position |
It is used to position the category spotlighted.
Value should be in |
labels_with_tick |
|
labels_family |
Labels font family |
labels_size |
Labels font size |
labels_col |
Labels colour |
labels_hjust |
Labels horizontal adjusting |
labels_vjust |
Labels vertical adjusting |
labels_fontface |
Labels font face |
labels_lineheight |
Labels line height |
tick_lwd |
Ticks Size |
... |
other arguments passed on to |
Value
A ggplot2 layer.
Examples
my_df <- data.frame(cat = c("Apple", "Banana", "Pineapple"), val = c(2.65, 4.5, 6.25))
my_df |>
ggplot2::ggplot() +
geom_pie(ggplot2::aes(cat = cat, val = val)) +
ggplot2::coord_equal()
Create a series of circles plot
Description
geom_series_circles()
can be used as an alternative for
single or multiple bar charts. It consists of using
whole and fragments of circles to represent numerical values.
As it draws circles, the geom should use with ggplot2::coord_equal()
to maintain the "aspect ratio".
There are two are arguments absolutely needed in aes()
mappings:
-
x
A vector mapping the abscissa axisx
, i.e. a character vector whenx
is a numerical vector, or a numerical vector wheny
is a character vector. -
y
A vector mapping the ordinate axisy
, i.e. a numerical vector whenx
is a character vector or vice versa. There is a default mappingfill
with valueblack
to fill circles/fragments of circles with. It can be used inaes
mapping or as a global argument for all the circles.
Usage
geom_series_circles(
mapping = NULL,
data = NULL,
show.legend = NA,
na.rm = FALSE,
inherit.aes = TRUE,
init_angle = 0,
r = 0.5,
color = NA,
linewidth = 0.5,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
to be displayed in this layer |
show.legend |
logical. Should this layer be included in the legends?
|
na.rm |
If |
inherit.aes |
If |
init_angle |
Circle drawing starting angle. |
r |
Circle radius, should be <= 0.5. |
color |
Color of circles/fragments of circles borders. |
linewidth |
Size of circles/fragments of circles borders. |
... |
other arguments passed on to |
Value
A ggplot2 layer.
Examples
my_df <- data.frame(cat = c("Apple", "Banana", "Pineapple"), val = c(2.65, 4.5, 6.25))
my_df |>
ggplot2::ggplot() +
geom_series_circles(ggplot2::aes(cat, val)) +
ggplot2::coord_equal()
Create pie slice plot using Cartesian coordinates system
Description
There are two arguments absolutely needed in aes()
mappings:
-
cat
A discrete categories vector. -
val
A numerical values vector.
Usage
geom_slice(
mapping = NULL,
data = NULL,
show.legend = NA,
na.rm = FALSE,
inherit.aes = TRUE,
slice_angle = 180,
init_angle = 0,
x0 = 0,
y0 = 0,
radius = 1,
color = "black",
alpha = 1,
linewidth = 0.5,
slice_position = NA,
labels_with_tick = FALSE,
labels_family = "",
labels_size = 5,
labels_col = "black",
labels_hjust = 0.5,
labels_vjust = 0.5,
labels_fontface = "plain",
labels_lineheight = 1.2,
tick_lwd = 1,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
to be displayed in this layer |
show.legend |
logical. Should this layer be included in the legends?
|
na.rm |
If |
inherit.aes |
If |
slice_angle |
Pie slice angle |
init_angle |
Starting angle |
x0 |
Init position x |
y0 |
Init position y |
radius |
Driving circle radius |
color |
Plot border colour |
alpha |
Filling colour transparency [0,1] |
linewidth |
Plot border size |
slice_position |
Pie slice position |
labels_with_tick |
|
labels_family |
Labels font family |
labels_size |
Labels font size |
labels_col |
Labels colour |
labels_hjust |
Labels horizontal adjusting |
labels_vjust |
Labels vertical adjusting |
labels_fontface |
Labels font face |
labels_lineheight |
Labels line height |
tick_lwd |
Ticks Size |
... |
other arguments passed on to |
Value
A ggplot2 layer.
Examples
my_df <- data.frame(cat = c("Apple", "Banana", "Pineapple"), val = c(2.65, 4.5, 6.25))
my_df |>
ggplot2::ggplot() +
geom_pie(ggplot2::aes(cat = cat, val = val)) +
ggplot2::coord_equal()
See ggplot2::stat_identity
Description
Usage
stat_donut(
mapping = NULL,
data = NULL,
geom = "donut",
position = "identity",
show.legend = NA,
na.rm = FALSE,
inherit.aes = TRUE,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
to be displayed in this layer |
geom |
The geometric object to use to display the data, either as a
|
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
show.legend |
logical. Should this layer be included in the legends?
|
na.rm |
If |
inherit.aes |
If |
... |
other arguments passed on to |
Value
A ggplot2 layer.
See ggplot2::stat_identity
Description
Usage
stat_donut_slice(
mapping = NULL,
data = NULL,
geom = "donut_slice",
position = "identity",
show.legend = NA,
na.rm = FALSE,
inherit.aes = TRUE,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
to be displayed in this layer |
geom |
The geometric object to use to display the data, either as a
|
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
show.legend |
logical. Should this layer be included in the legends?
|
na.rm |
If |
inherit.aes |
If |
... |
other arguments passed on to |
Value
A ggplot2 layer.
See ggplot2::stat_identity
Description
Usage
stat_pie(
mapping = NULL,
data = NULL,
geom = "pie",
position = "identity",
show.legend = NA,
na.rm = FALSE,
inherit.aes = TRUE,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
to be displayed in this layer |
geom |
The geometric object to use to display the data, either as a
|
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
show.legend |
logical. Should this layer be included in the legends?
|
na.rm |
If |
inherit.aes |
If |
... |
other arguments passed on to |
Value
A ggplot2 layer.
See ggplot2::stat_identity
Description
Usage
stat_series_circles(
mapping = NULL,
data = NULL,
geom = "series_circles",
position = "identity",
show.legend = NA,
na.rm = FALSE,
inherit.aes = TRUE,
init_angle = NULL,
r = NA,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
to be displayed in this layer |
geom |
The geometric object to use to display the data, either as a
|
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
show.legend |
logical. Should this layer be included in the legends?
|
na.rm |
If |
inherit.aes |
If |
init_angle |
Circle drawing starting angle. |
r |
Circle radius, should be <= 0.5. |
... |
other arguments passed on to |
Value
A ggplot2 layer.
See ggplot2::stat_identity
Description
Usage
stat_series_text(
mapping = NULL,
data = NULL,
geom = "series_text",
position = "identity",
show.legend = NA,
na.rm = FALSE,
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 |
geom |
The geometric object to use to display the data, either as a
|
position |
Position adjustment, either as a string, or the result of
a call to a position adjustment function. Cannot be jointly specified with
|
show.legend |
logical. Should this layer be included in the legends?
|
na.rm |
If |
inherit.aes |
If |
... |
Other arguments passed on to |
Value
A ggplot2 layer.
See ggplot2::stat_identity
Description
Usage
stat_slice(
mapping = NULL,
data = NULL,
geom = "slice",
position = "identity",
show.legend = NA,
na.rm = FALSE,
inherit.aes = TRUE,
...
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
to be displayed in this layer |
geom |
The geometric object to use to display the data, either as a
|
position |
Position adjustment, either as a string naming the adjustment
(e.g. |
show.legend |
logical. Should this layer be included in the legends?
|
na.rm |
If |
inherit.aes |
If |
... |
other arguments passed on to |
Value
A ggplot2 layer.