Git Product home page Git Product logo

Comments (6)

davidhodge931 avatar davidhodge931 commented on July 30, 2024

Still needs add any licensing to ggplot2 tricks required

from ggh4x.

davidhodge931 avatar davidhodge931 commented on July 30, 2024

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

from ggh4x.

teunbrand avatar teunbrand commented on July 30, 2024

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.

from ggh4x.

davidhodge931 avatar davidhodge931 commented on July 30, 2024

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

from ggh4x.

davidhodge931 avatar davidhodge931 commented on July 30, 2024

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

from ggh4x.

davidhodge931 avatar davidhodge931 commented on July 30, 2024

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

from ggh4x.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.