The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
oncoplot
object in ‘aplot’ and ‘aplotExtra’
(2023-07-18, Tue)gglist
object (2023-06-26, Mon)bbplot
object (2021-09-02, Thu)yulab.utils
(2021-08-20, Fri)...
parameter in as.ggplot
(2021-08-06,
Fri)envir
to base2grob
(2021-08-04, Wed, #11)patchwork
object supported (2021-05-11, Tue)aplot
object supported (2020-03-27, Fri)
as.ggplot
(2020-03-16, Mon)hjust
and vjust
parameters in
as.ggplot
(2020-03-11, Wed)grid2grob
for all plot generated by grid
(2019-08-21, Wed)
as.grob
method for Heatmap
object (defined
in ComplexHeatmap package) (2019-08-06, Tue)as.grob
method for eulergram
object
(defined in eulerr package) (2019-05-09, Thu)
as.grob
method for pheatmap
object
(2018-08-03, Fri)
magick-image
to grob
and ggplot
object. (2018-04-25, Wed)as.grob
as S3 Generics.as.grob
by combining ggimage::toGrob
and
base2grob
package which was deprecated
as.grob
can convert base plot or grid plot (e.g. vcd,
UpSetR packages) to grob
objectas.ggplot
supports all as.grob
-supported
plots.I figured out a way to embed base plot (vennpie
) to grid
plot (upset
) when developing upsetplot
function in ChIPseeker
package for visualizing overlap of
ChIPseq data in 2015, http://guangchuangyu.github.io/2015/07/upsetplot-in-chipseeker/.
I developed a subview
function in ggtree
package in 2015, for embeding subplots, https://github.com/YuLab-SMU/ggtree/commit/2ab2876d5e92454869c3307ea6f3c8e2656630ef.
This function was re-implemented as geom_subview
and
packed in the ggimage
package.
In the early of 2017, I started to develop R script to produce
ggtree
sticker. @lgatto first came out
with an idea of makeing an R package for producing hex sticker by
packing my script into a function, https://github.com/Bioconductor/BiocStickers/issues/12.
I have several ideas to improve the package, including producing
print-ready figure, employing modular design and supporting grammar of
graphics, as well as supporting subplot generated by base and lattice. I
started to develop the hexSticker
package, https://github.com/GuangchuangYu/hexSticker/issues/2,
with base plot, lattice, ggplot2 and image file supported as subplot,
which was actually implemented in ggimage
(toGrob
function, image file are supported by
geom_image
).
I wrote a blog post, http://guangchuangyu.github.io/cn/2018/03/five-questions-of-meme/,
to ask questions based on the meme
package to help users
understand ggplot2
.
After I wrote the sentence:
if you know how
ggsave
works, you can even extend it to support base plot
I started to extend ggsave
to support base plot by using
formula or expression, e.g.
ggsave(~base_plot)
.
After that, I asked myself, why not extending cowplot
to
support base plot with the fact that I already have source code to
convert base plot to grob
object
(ggimage:::toGrob
). Then I developed the
base2grob
package and submit it to CRAN.
I wrote a blog post,
http://guangchuangyu.github.io/cn/2018/04/ggvenn/, to introduce
ggvenn
function (in yyplot
package, only
available on GitHub), and started to play with the UpSetR
package. I believe upset
plot contains too much empty space
and can embed a venn
plot as I did in 2015 with
vennpie
. I created a PR, https://github.com/hms-dbmi/UpSetR/pull/112, to make it
possible to capture upset
output and be able to be
converted to grob
object. I thought it would be more easy
if I further convert the object to ggplot
then I can
directly use ggimage::geom_subview()
to embed
ggvenn
inside upset
plot. With this idea, I
started to implement as.ggplot
function.
Then, I suddenly realized that I should packed
as.ggplot
, ggimage:::toGrob
and
base2grob
into a single package. That’s why we have
ggplotify
, which contains as.grob
to convert
plots to grob
and as.ggplot
to convert plots
to ggplot
objects.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.