Swarchal / platetools

An R package for plotting microtitre plates
Other
54 stars 15 forks source link

Factor/categorical color symbology in plots #27

Open RobertSellers opened 3 years ago

RobertSellers commented 3 years ago

Are there any methods for allowing a set # of categorical colors for ggplots? Everything defaults as a continuous color range.

Swarchal commented 3 years ago

Yeah it's not documented very well, but you can pass strings or factors to raw_map.

e.g:

df = data.frame(
    well = num_to_well(1:96),
    sample_name = sample(c("a", "b", "c"), 96, replace=TRUE)
)

raw_map(
    well = df$well,
    data = df$sample_name,
    plate = 96
)

plot

RobertSellers commented 3 years ago

Ah - no this should have been obvious to me. I had some custom symbology running through it which was the error...

+ scale_fill_viridis()

RobertSellers commented 3 years ago

Hi again. I just wanted to follow-up with something related. Is it possible to add these discrete labels to the well fills? Using your example - placing an "a" over all of the red wells. Is this possible with platetools or does this require some very custom work?

Swarchal commented 3 years ago

Good question, and another undocumented workflow. You can add labels using geom_text() from ggplot.

library(platetools)
library(ggplot2)

df = data.frame(
    well = num_to_well(1:96),
    sample_name = sample(c("a", "b", "c"), 96, replace=TRUE)
)

raw_map(
    well = df$well,
    data = df$sample_name,
    plate = 96
) + 
    geom_text(aes(label=df$sample_name))

plot2

RobertSellers commented 3 years ago

Excellent, thank you. This is looking quite good.