| Title: | Create Layout Plots of Biological Culture Plates and Microplates |
| Version: | 0.4.0 |
| Description: | Enables users to create simple plots of biological culture plates as well as microplates. Both continuous and discrete values can be plotted onto the plate layout. |
| License: | MIT + file LICENSE |
| Encoding: | UTF-8 |
| LazyData: | true |
| Imports: | dplyr, ggplot2, scales, purrr, rlang, stringr, tidyr, utils, farver |
| Suggests: | covr, testthat (≥ 3.0.0) |
| Depends: | R (≥ 4.1.0) |
| URL: | https://github.com/jpquast/ggplate, https://jpquast.github.io/ggplate/ |
| BugReports: | https://github.com/jpquast/ggplate/issues |
| Config/testthat/edition: | 3 |
| Config/roxygen2/version: | 8.0.0 |
| NeedsCompilation: | no |
| Packaged: | 2026-09-01 09:16:48 UTC; jquast |
| Author: | Jan-Philipp Quast |
| Maintainer: | Jan-Philipp Quast <jpquast.software@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-09-01 09:30:02 UTC |
Colour scheme for well borders
Description
A colour scheme for the borders of wells that contains 4 colours. The colours are meant to
mark the status of a well (Fail, Check, OK and Not tested). They do not appear in the
protti_colours and viridis_colours schemes, which ensures that borders are visible on
every fill colour.
Usage
border_colours
Format
A vector containing 4 colours
Continuous 12-well plate dataset
Description
A dataset containing 12 positive numeric values randomly generated using a normal distribution (rnorm()).
Each value is assigned to a position in a 12-well plate.
The Status column marks wells with a low signal.
Usage
data_continuous_12
Format
A data frame with a Value, a well and a Status column.
Source
Randomly generated.
Continuous 1536-well plate dataset (A-AF)
Description
A dataset containing 1536 positive numeric values randomly generated using a normal distribution (rnorm()).
Each value is assigned to a position in a 1536-well plate. The row format uses the A-AF labeling.
The Status column marks the wells at the edge of the plate, which are prone to evaporation.
Usage
data_continuous_1536
Format
A data frame with a well, a Value and a Status column.
Source
Randomly generated.
Continuous 1536-well plate dataset (Aa-Hd)
Description
A dataset containing 1536 positive numeric values randomly generated using a normal distribution (rnorm()).
Each value is assigned to a position in a 1536-well plate. The row format uses the Ab-Hd labeling.
The Status column marks the four columns of the plate that were not used.
Usage
data_continuous_1536_Aa
Format
A data frame with a well, a Value and a Status column.
Source
Randomly generated.
Continuous 24-well plate dataset
Description
A dataset containing 24 positive numeric values randomly generated using a normal distribution (rnorm()).
Each value is assigned to a position in a 24-well plate.
The Status column marks wells with a low signal.
Usage
data_continuous_24
Format
A data frame with a Value, a well and a Status column.
Source
Randomly generated.
Continuous 384-well plate dataset
Description
A dataset containing 384 positive numeric values randomly generated using a normal distribution (rnorm()).
Each value is assigned to a position in a 384-well plate.
The Status column marks the wells at the edge of the plate, which are prone to evaporation.
Usage
data_continuous_384
Format
A data frame with a Value, a well and a Status column.
Source
Randomly generated.
Continuous 48-well plate dataset
Description
A dataset containing 48 positive numeric values randomly generated using a normal distribution (rnorm()).
Each value is assigned to a position in a 48-well plate.
The Status column marks wells with a low or a high signal.
Usage
data_continuous_48
Format
A data frame with a Value, a well and a Status column.
Source
Randomly generated.
Continuous incomplete 48-well plate dataset
Description
A dataset containing 23 positive numeric values randomly generated using a normal distribution (rnorm()).
Each value is assigned to a position in a 48-well plate. Therefore, not every well in the plate contains a
value. The position 1D and the second half of the plate are NA.
The Status column marks the wells that were not tested. These wells are only shown if the
remove_na argument of plate_plot() is set to FALSE.
Usage
data_continuous_48_incomplete
Format
A data frame with a Value, a well and a Status column.
Source
Randomly generated.
Continuous 6-well plate dataset
Description
A dataset containing 6 positive numeric values randomly generated using a normal distribution (rnorm()).
Each value is assigned to a position in a 6-well plate.
The Status column marks the well with a very low signal.
Usage
data_continuous_6
Format
A data frame with a Value, a well and a Status column.
Source
Randomly generated.
Continuous 96-well plate dataset
Description
A dataset containing 96 positive numeric values randomly generated using a normal distribution (rnorm()).
Each value is assigned to a position in a 96-well plate.
The Status column marks wells with a low signal.
Usage
data_continuous_96
Format
A data frame with a Value, a well and a Status column.
Source
Randomly generated.
Discrete 24-well plate dataset
Description
A dataset containing 12 conditions for an siRNA treatment in a 24-well plate.
The siRNA treatment consists of a control (siControl) and 11 siRNAs targeting mRNAs of
proteins in the mTORC1 pathway.
Each treatment is assigned to a position in a 24-well plate.
The Status column marks the knockdowns that did not work as expected.
Usage
data_discrete_24
Format
A data frame with a Condition, a well and a Status column.
Source
Theoretically possible siRNA treatment for cells.
Discrete 6-well plate dataset
Description
A dataset containing 3 conditions for a drug treatment in a 6-well plate.
The treatment consists of a DMSO negative control, Rapamycin and Taxol.
Each treatment is assigned to a position in a 6-well plate.
The Control column marks the wells that contain the vehicle control.
Usage
data_discrete_6
Format
A data frame with a Condition, a well and a Control column.
Source
Theoretically possible treatment for cells.
Discrete 96-well plate dataset
Description
A dataset containing 22 conditions for a hypothetical drug treatment in a 96-well plate.
The first column contains the positive control while the last column contains the negative control.
Each treatment is assigned to four wells in a 96-well plate.
The Replicate column contains the number of the replicate of each compound. The two controls
have eight replicates, every other compound has four.
Usage
data_discrete_96
Format
A data frame with a Compound, a well, a Compound_multiline and a Replicate column.
Source
Drugs were chosen from a standard FDA approved drug library.
Plate Layout Plot
Description
Plots a culture plate or microplate in the desired format. Both continuous as well as discrete values can be displayed with colours and labels.
Usage
plate_plot(
data,
position,
value,
label,
plate_size = 96,
plate_type = "square",
colour,
remove_na = TRUE,
na_fill = "grey50",
limits,
title,
title_size,
show_legend = TRUE,
legend_n_row,
label_size,
silent = TRUE,
scale,
border,
border_colour
)
Arguments
data |
a data frame that contains at least a column with plate position information and a column with values or labels. |
position |
a character column in the |
value |
a character, factor or numeric column in the |
label |
a character or numeric column in the |
plate_size |
a numeric value that specifies the plate size (number of wells) used for the plot. Possible values are: 6, 12, 24, 48, 96, 384 and 1536. |
plate_type |
a character value that specifies the well type. Possible values are "round" and "square". The default is "square". |
colour |
optional, a character vector that contains colours used for the plot. If the |
remove_na |
a logical value specifying whether rows with missing values ( |
na_fill |
optional, a character value specifying the fill colour used for wells with missing values ( |
limits |
optional, a numeric vector of length two providing new limits for a colour gradient. Use NA to refer to
the existing minimum or maximum. If this argument is not supplied the existing minimum and maximum of the
values provided to the |
title |
optional, a character value that contains the plot title. |
title_size |
optional, a numeric value that determines the text size of the title. The size is also affected by the
|
show_legend |
a logical value that specifies if the plot legend is shown. Default is |
legend_n_row |
optional, a numeric value that specifies the maximum total number of rows used by the legends.
If a legend for the |
label_size |
optional, a numeric value that determines the text size of the well labels. The size is also affected by the
|
silent |
a logical value that specifies if the function should report the size of the plotting area and the adjusted
scale parameter. Default is |
scale |
a numeric value that scales point sizes and labels of the plot. If not provided, the plot uses the device size to find the optimal scaling factor for the output, however, this might be slightly off (e.g. due to number of labels) and can be manually adjusted with this argument. |
border |
optional, a character, factor or numeric column in the |
border_colour |
optional, a character vector that contains colours used for the borders of the wells. The colours are
used as provided. If this argument is not supplied the |
Value
A plate layout plot.
Examples
library(dplyr)
library(tidyr)
library(stringr)
# Load example data
data("data_continuous_96")
data("data_continuous_384")
data("data_discrete_6")
data("data_discrete_24")
# Create a 96-well plot with round wells
plate_plot(
data = data_continuous_96,
position = well,
value = Value,
label = Value,
plate_size = 96,
plate_type = "round"
)
# Create a 384-well plot with square wells
# Define a custom lower limit
# Define a custom colour scheme
# Define a custom title with a custom size
plate_plot(
data = data_continuous_384,
position = well,
value = Value,
label = Value,
plate_size = 384,
colour = c("#000004FF", "#51127CFF", "#B63679FF", "#FB8861FF", "#FCFDBFFF"),
limits = c(0, NA),
title = "Custom Title",
title_size = 20
)
# Create a 24-well plot
# Show a 6 row legend
# Scale the plot to 1.2
plate_plot(
data = data_discrete_24,
position = well,
value = Condition,
plate_size = 24,
plate_type = "round",
scale = 1.2,
legend_n_row = 6
)
# Create a 6-well plot
# Define a custom colour scheme
# Adjust label_size to fit text
# Let the plot return width, height and scale
plate_plot(
data = data_discrete_6,
position = well,
value = Condition,
label = Condition,
plate_size = 6,
plate_type = "round",
colour = c("#3a1c71", "#d76d77", "#ffaf7b"),
label_size = 4,
show_legend = FALSE,
silent = FALSE
)
# Create a 24-well plot
# Highlight the borders of wells that did not pass the quality control
plate_plot(
data = data_discrete_24,
position = well,
value = Condition,
border = Status,
plate_size = 24,
plate_type = "round"
)
# Create a 1536-well plot with square wells
# Aa-Hd row labels
plate_plot(
data = data_continuous_1536_Aa,
position = well,
value = Value,
plate_size = 1536,
)
Colour scheme for protti
Description
A colour scheme from the protti package that contains 100 colours.
Usage
protti_colours
Format
A vector containing 100 colours
Source
protti R package.
Viridis colour scheme
Description
A colour scheme by the viridis colour scheme from the viridis R package.
Usage
viridis_colours
Format
A vector containing 256 colours
Source
viridis R package