LabwarePlotting.jl
LabwarePlotting is the shared plate and grid plotting layer of CHESS. It provides gridlines, lettered rows, shape markers, heatmap overlays, and role-based colors on top of Plots. The several packages that draw a grid of wells share it.
LabwarePlotting is a leaf package with no dependencies on other CHESS packages. It has no knowledge of CHESSCore.Labware, PlateMaps.PlateMap, or any other domain type. Each package with its own grid-shaped type (CHESSCore, PlateMaps, Pourfecto, and CHESSProcessing) adds a plot method or plotting function for that type, built on these primitives, in a package extension or a source file. Every package can depend on LabwarePlotting without a circular dependency. A new package with a grid-shaped type follows the same convention.
Two layers
- Grid skeleton.
plot_gridandplot_grid!draw the axis limits, an optional flat color for each cell, the gridlines, and the standard styling with lettered rows and numbered columns. Every plate plot in CHESS shares this skeleton. - Markers and overlays.
place_shape!andplot_heatmap!handle cases that do not fill a whole grid: highlighting specific wells, drawing deck-slot outlines, and overlaying a heatmap of continuous values on the skeleton.
letter_code and wellnames name rows in bijective base 26, and role_palette maps roles to consistent colors. Both layers use them.
The Quick Start shows each of these.
Installation
LabwarePlotting is a package of the CHESS repository and is installed with it. Follow the CHESS installation instructions, then, in the clone, start Julia with the LabwarePlotting environment:
julia --project=LabwarePlottingand load the package:
using LabwarePlotting