Closed davidhodge931 closed 2 weeks ago
Still needs add any licensing to ggplot2 tricks required
2nd thoughts, I think that aes_contrast()
works well in ggblanket - just need to do some more research about how to make the licensing etc kosha
Hi David, sorry I saw you busy with this PR and I didn't respond in a timely fashion. In terms of licencing, I think ggblanket is MIT and the ggplot tricks is MIT, so that shouldn't pose a problem. If it helps, I'd be happy to take the unlicense for ggplot tricks.
Oh, no problem @teunbrand, I've gone around in circles on this (like many things!). I think the function works well in ggblanket, as it fits nicely with everything else.
My main concern is just that I'm not sure what I'm doing in this regard.
I think if I copy and paste your MIT license into the R script in my package with some sort of note saying these were derived from ggplot tricks, and/or add you as a contributor? Maybe that's the easiest way.. Have you seen something similar done before in an R package? https://github.com/davidhodge931/ggblanket/blob/main/R/aes_contrast.R
Maybe it's sufficiently different and non-unique that its fine?? The get_contrast
autocontrast function is just an ifelse
based on farver::get_channel
, and the aes_contrast
bit is just a function based on ggplot2::scale
My implementation of your ggplot2::after_scale
tricks below. I've referenced you in the NEWS. Happy to put you down as a contributor - just let me know in the next couple of days :) Planning to submit a version before the weekend.
library(ggblanket)
library(palmerpenguins)
library(tidyverse)
set_blanket(
col_palette_d = c("red", "blue", "grey"),
alpha_recursive = 1,
)
penguins |>
drop_na(sex) |>
count(species, sex) |>
gg_col(
x = sex,
y = n,
col = species,
label = n,
mapping = aes_colour_darken(amount = 0.2), # TRICK 1
position = position_dodge(preserve = "single"),
width = 0.75,
) +
geom_text(
mapping = aes_colour_contrast(), # TRICK 2
position = position_dodge(width = 0.75),
vjust = 1.5,
show.legend = FALSE,
)
#> Scale for colour is already present.
#> Adding another scale for colour, which will replace the existing scale.
Created on 2024-07-23 with reprex v2.1.0
Below is a function that I derived for my R package from your work, but now want to remove - as I want to make sure licensing is more straightforward and all kosha.
I took your work, and modified it slightly to make it functional with args for the specific dark colour and light colour. So I'm not sure whether you need to include a license to your ggplot2 tricks in with this code..
Anyway, I'll add a PR, and you can merge it in and add any licencing to yourself needed, if you'd like it. It works nice :)
Created on 2024-07-09 with reprex v2.1.0