Comments (6)
Still needs add any licensing to ggplot2 tricks required
from ggh4x.
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.
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.
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.
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.
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)
- facet_nested have a different behaviour as compare to facet_grid when combining character and numeric HOT 2
- facet_wrap2 adding wrong x axis labels HOT 3
- Facet size = "variable" not working? HOT 2
- Release ggh4x 0.2.8
- match facet data with ggbarplot HOT 4
- Missing data prevents setting up secondary y-axis scale in help_sec_range and help_sec_max HOT 1
- Ggplotly will move x-axis back to default position HOT 1
- Add tag_facet function? HOT 5
- Error when facetting and using `ggtext` HOT 3
- geom_rectmargin won't work bug with fill_alpha HOT 3
- ggtext::element_markdown not working with ggh4x_0.2.8 HOT 3
- Remove x-axis labels with independent = "x" if they are identical HOT 4
- Add compatibility with ggtext::element_markdown() HOT 1
- Error in check_object(cols, is_quosures, "a {.fn vars} specification" HOT 3
- facet_grid with remove_labels removes labels but leaves the space between the panels HOT 2
- `guide_stringlegend()` throws `Error in get_layer_key(...) : argument "data" is missing, no default` HOT 4
- S3 guide system deprecated in ggplot2 3.5.0 HOT 2
- Compatibility with ggtext::element_markdown() issue HOT 2
- Self-plagiarise `at_panel()` function HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ggh4x.