Bioconductor / BiocStickers

Stickers for some Bioconductor packages - feel free to contribute and/or modify.
Other
123 stars 86 forks source link

Function to create a sticker #12

Open lgatto opened 7 years ago

lgatto commented 7 years ago

Based on @GuangchuangYu's script, I created the make_sticker function to make it easier to re-use and adapt. It's rough around the edges but a decent start. Suggestions and patches welcome.

 make_sticker()

mypackage

library("ggplot2")
p <- ggplot(aes(x = mpg, y = wt), data = mtcars) + geom_point()
x <- make_sticker(p, "Bioconductor", 
                  grob_xmin = 0.5, grob_xmax = 1.5,
                  grob_ymin = .35, grob_ymax = 1.25)

bioconductor

GuangchuangYu commented 7 years ago

that's awesome. Thanks @lgatto

jorainer commented 7 years ago

Very nice 👍 🥇

lgatto commented 7 years ago

TODO

- [ ] Adjust dimensions to get an image of height 5cm, ready for printing. - [ ] Fix hexagon not filling the full square; on the left side there is a small gap.

TODO list has been moved to sticker issue 1.

lgatto commented 7 years ago

@LiNk-NY @mtmorgan - the make_sticker function seems to be quite useful (to me, at least). I would rather move it to a package for convenience. Would you consider it fit for BiocStyle, for example, or should it get its own package?

lgatto commented 7 years ago

New defaults bioconductor

GuangchuangYu commented 7 years ago

I vote for new package, maybe BiocSticker. Developers can PR for their sticker_pkgname function and then we can have a package of reproducible sticker collections.

GuangchuangYu commented 7 years ago
p <- ggplot(aes(x = mpg, y = wt), data = mtcars) + geom_point()
p = p + theme_void() + theme_transparent()
make_sticker(p, "Bioconductor")

bioconductor

https://github.com/jotsetung/BioC-stickers/commit/142d1f54aa018197f80dca305a50428f7e19627b change the dimension according to https://twitter.com/robbie_bonelli/status/795211775679418372.

lgatto commented 7 years ago

I vote for new package, maybe BiocSticker. Developers can PR for their sticker_pkgname function and then we can have a package of reproducible sticker collections.

Ok for a package; I would rather name it stickeR or sticker to make it more general.

If we push actual sticker creation functions in there, then this repo becomes obsolete. The advantage of an external package is that it easier for me to control what version I use for my sticker; otherwise, every change in the function (like 142d1f54aa018197f80dca305a50428f7e19627b, for example), possibly breaks stickers.

With respect to the package, having it on github allows to install versions based on SHA commit hashes; this enables me to keep using one consistently for different stickers, as long as I record which SHA I was using upon creation.

jorainer commented 7 years ago

I would only make a package of the functionality to create the stickers and would not include the actual stickers or sticker functions into that package. 1) some stickers (mine ;) ) were made manually and 2) I would simply keep functionality (the function) and results (the stickers) separate.

jorainer commented 7 years ago

I realized that the hexagon is not filling the full square. On the left side there is a small gap. Could this be fixed?

lgatto commented 7 years ago

I have created a sticker package with the make_sticker function.

jorainer commented 7 years ago

@lgatto Is the function in the package different from the one we had here? I'm asking because the same code that generated this sticker https://github.com/jotsetung/BioC-stickers/blob/master/mzR/mzR.png now creates: mzr

lgatto commented 7 years ago

There have been a couple of PRs recently, but I think that the text size is also influenced by other parameters (at least that's what I observed yesterday, when preparing the pRoloc stickers). That why we need a package and the flexibility to install a use a specific SHA has to preserve old stickers, at least until we have a stable make_sticker.

GuangchuangYu commented 7 years ago

This is because the units are in two different spaces (data and pixel).

jorainer commented 7 years ago

Yup, I just reduced the size of the text - works now.

GuangchuangYu commented 7 years ago

I have some ideas to improve it and create a package separately for not breaking your existing codes.

see https://github.com/GuangchuangYu/hexSticker.