一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

R繪圖:唱一半的歌,畫一半的圖 gghalves

 公號生信小課堂 2021-10-28

R繪圖往期回顧:

R繪圖:gggibbous,基于ggplot2的Moon charts

R繪圖:ggeconodist,基于ggplot2的另類箱圖

R語言學(xué)習(xí)系列之“多變的熱圖”

螞蟻金服在線可視化引擎 G2

R繪圖:無與倫比的華麗風(fēng)行(桑基圖)

R繪圖:相關(guān)性分析與作圖(單基因相關(guān)性)

R繪圖:相關(guān)性分析與作圖R繪圖

ggsci: 高大上的論文配色,一文解決配色問題

R繪圖 ggpubr: 為學(xué)術(shù)而生

TCGA數(shù)據(jù)分析系列之火山圖

R繪圖 雷達(dá)圖-單基因泛癌差異表達(dá)的另類展現(xiàn)形式

有的時候,只畫一半的圖,或者你一半我一半拼湊起來,會有意外的效果,而R包gghalves就可以在ggplot2的基礎(chǔ)上,畫一半的圖.

多聚集數(shù)據(jù)的幾何圖形,如geomboxplot、geomviolin和geom_dotplot是(近)對稱的。在顯示信息的空間有限的情況下,我們可以通過將幾何圖形分割成兩半并顯示額外的幾何圖形

  1. geom_half_boxplot

  2. geom_half_violin

  3. geom_half_point

安裝加載包

if(length(getOption("CRAN"))==0) options(CRAN="https://mirrors.tuna./CRAN/")if(!require("gghalves")) BiocManager::install("gghalves")

GeomHalfPoint

1 在x軸上,它們占據(jù)的空間最多是分配給特定因素的空間的一半
2 它們將總空間的左半部分或右半部分留給另一個geom使用
3 此外,默認(rèn)情況下,geom_half_point水平和垂直抖動點(diǎn)。

ggplot(iris, aes(x = Species, y = Sepal.Width)) + geom_point()ggplot(iris, aes(x = Species, y = Sepal.Width)) + geom_half_point()

其工作方式是將transformation=PositionJitter傳遞給geom。我們可以通過傳遞transformation參數(shù)來使用此轉(zhuǎn)換的默認(rèn)值

ggplot(iris, aes(x = Species, y = Sepal.Width)) + geom_half_point(transformation_params = list(height = 0, width = 0.001, seed = 1))

或者改變轉(zhuǎn)換參數(shù)本身

ggplot(iris, aes(x = Species, y = Sepal.Width)) + geom_half_point(transformation = PositionIdentity)

GeomHalfBoxplot

GeomHalfBoxplot顯示一個被切成兩半并在x軸上分配給特定因子空間的左側(cè)或右側(cè)繪制的boxplot。

ggplot(iris, aes(x = Species, y = Sepal.Width)) + geom_half_boxplot()

除了標(biāo)準(zhǔn)的side參數(shù)外,還可以將半盒繪圖居中,并決定是否繪制errorbar。

ggplot(iris, aes(x = Species, y = Sepal.Width)) + geom_half_boxplot(side = "r", center = TRUE, errorbar.draw = FALSE)

GeomHalfViolin

半小提琴,除了side參數(shù)外,它還支持可以傳遞給標(biāo)準(zhǔn)geomviolin的所有參數(shù)。

ggplot(iris, aes(x = Species, y = Sepal.Width)) + geom_half_violin()

GeomHalfDotplot

GeomHalfDotplot與其他geoms略有不同,因?yàn)樗恢С诌厖?shù),因?yàn)樗呀?jīng)通過stackdir內(nèi)置到標(biāo)準(zhǔn)GeomDotplot中

ggplot(iris, aes(x = Species, y = Sepal.Width)) + geom_half_violin() + geom_dotplot(binaxis = "y", method="histodot", stackdir="up",binwidth=0.06)

那么,既然geom_dotplot可以用作半geom,為什么需要geom_half_dotplot?原因是當(dāng)存在多個因素時,geom_dotplot不支持回避。讓我們考慮以下示例:

df <- data.frame(score = rgamma(150, 4, 1), gender = sample(c("M", "F"), 150, replace = TRUE), genotype = factor(sample(1:3, 150, replace = TRUE)))

有了這些數(shù)據(jù),我們想按基因型分組,但也要按性別劃分圖。這在使用標(biāo)準(zhǔn)geom時不太管用:

ggplot(df, aes(x = genotype, y = score, fill = gender)) + geom_half_violin() + geom_dotplot(binaxis = "y", method="histodot", stackdir="up", position = PositionDodge)

點(diǎn)圖與小提琴圖實(shí)際上是重疊了

使用geom_half_dotplot

ggplot(df, aes(x = genotype, y = score, fill = gender)) + geom_half_violin() + geom_half_dotplot(method="histodot", stackdir="up",binwidth=0.3)

Combining Different Geoms

library(tidyverse)ggplot() + geom_half_boxplot( data = iris %>% filter(Species=="setosa"), aes(x = Species, y = Sepal.Length, fill = Species), outlier.color = NA) + ggbeeswarm::geom_beeswarm( data = iris %>% filter(Species=="setosa"), aes(x = Species, y = Sepal.Length, fill = Species, color = Species), beeswarmArgs=list(side=+1) ) + geom_half_violin( data = iris %>% filter(Species=="versicolor"), aes(x = Species, y = Sepal.Length, fill = Species), side="r") + geom_half_dotplot( data = iris %>% filter(Species=="versicolor"), aes(x = Species, y = Sepal.Length, fill = Species), method="histodot", stackdir="down") + geom_half_boxplot( data = iris %>% filter(Species=="virginica"), aes(x = Species, y = Sepal.Length, fill = Species), side = "r", errorbar.draw = TRUE, outlier.color = NA) + geom_half_point( data = iris %>% filter(Species=="virginica"), aes(x = Species, y = Sepal.Length, fill = Species, color = Species), side = "l") + scale_fill_manual(values = c("setosa" = "#cba1d2", "versicolor"="#7067CF","virginica"="#B7C0EE")) + scale_color_manual(values = c("setosa" = "#cba1d2", "versicolor"="#7067CF","virginica"="#B7C0EE")) + theme(legend.position = "none")

公眾號“生信小課堂”

TCGA數(shù)據(jù)分析課程TCGA數(shù)據(jù)分析大全

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    69久久精品亚洲一区二区| 亚洲天堂精品1024| 美日韩一区二区精品系列| 国产精品一区二区成人在线| 大香蕉久久精品一区二区字幕| 加勒比系列一区二区在线观看 | 免费啪视频免费欧美亚洲| 精品老司机视频在线观看| 国产精品午夜视频免费观看| 厕所偷拍一区二区三区视频| 国产精品免费视频久久| 久久99国产精品果冻传媒| 91播色在线免费播放| 视频在线观看色一区二区| 风间中文字幕亚洲一区| 真实国产乱子伦对白视频不卡| 欧美黄色黑人一区二区| 日韩人妻中文字幕精品| 大屁股肥臀熟女一区二区视频 | 一区中文字幕人妻少妇| 日本午夜免费啪视频在线| 中文字幕不卡欧美在线| 欧美一区二区三区99| 能在线看的视频你懂的| 亚洲综合精品天堂夜夜| 欧美成人高清在线播放| 在线观看中文字幕91| 国产精品一区二区丝袜| 国产精品大秀视频日韩精品| 欧美精品一区二区水蜜桃| 国产在线一区二区三区不卡| 热久久这里只有精品视频| 精品欧美日韩一二三区| 色综合视频一区二区观看| 国产精品熟女乱色一区二区| 欧美国产亚洲一区二区三区| 日韩性生活片免费观看| 亚洲一区二区三区四区| 国内胖女人做爰视频有没有| 日韩欧美高清国内精品| 九九热视频经典在线观看|