跟著Nature Metabolism學(xué)作圖:R語言ggplot2柱形圖和下三角熱圖完整示例

論文

Single-cell profiling of vascular endothelial cells reveals progressive organ-specific vulnerabilities during obesity

https://www.nature.com/articles/s42255-022-00674-x#Sec58

s42255-022-00674-x.pdf

https://github.com/Osynchronika/sc_EC_obesity_atlas

大部分 作圖的數(shù)據(jù)都有斯议,可以試著用論文中提供的數(shù)據(jù)復(fù)現(xiàn)一下論文中的圖

今天的推文重復(fù)一下論文中的Figure1e 柱形圖 和 Figure1f的下三角熱圖

Figure1e的數(shù)據(jù)論文中是提供的,格式如下

image.png

這是3個(gè)柱形圖的數(shù)據(jù)邦邦,需要我們手動(dòng)整理成作圖格式

image.png

柱形圖的作圖代碼

df02<-read_excel("data/20230207/42255_2022_674_MOESM3_ESM.xlsx",
                 sheet = "Sheet1")
df02
df02$x<-factor(df02$x,levels = df02$x)

pe1<-ggplot()+
  geom_col(data=df02,aes(x=x,y=y),
           fill="red",color="black")+
  theme_classic()+
  scale_y_continuous(expand = expansion(mult=c(0,0)),
                     limits = c(0,120),
                     breaks = seq(0,120,20))+
  labs(x=NULL,y="Number of DEGs",title="Art")+
  theme(plot.title = element_text(hjust=0.5,face="bold"))


df03<-read_excel("data/20230207/42255_2022_674_MOESM3_ESM.xlsx",
                 sheet = "Sheet2")
df03
df03$x<-factor(df03$x,levels = df03$x)

pe2<-ggplot()+
  geom_col(data=df03,aes(x=x,y=y),
           fill="#46b198",color="black")+
  theme_classic()+
  scale_y_continuous(expand = expansion(mult=c(0,0)),
                     limits = c(0,900),
                     breaks = seq(0,900,300))+
  labs(x=NULL,y="Number of DEGs",title="Cap")+
  theme(plot.title = element_text(hjust=0.5,face="bold"))


df04<-read_excel("data/20230207/42255_2022_674_MOESM3_ESM.xlsx",
                 sheet = "Sheet3")
df04
df04$x<-factor(df04$x,levels = df04$x)

pe3<-ggplot()+
  geom_col(data=df04,aes(x=x,y=y),
           fill="#4472c4",color="black")+
  theme_classic()+
  scale_y_continuous(expand = expansion(mult=c(0,0)),
                     limits = c(0,350),
                     breaks = seq(0,350,50))+
  labs(x=NULL,y="Number of DEGs",title="Ven")+
  theme(plot.title = element_text(hjust=0.5,face="bold"))

三個(gè)柱形圖的代碼基本一樣

image.png

下三角相關(guān)系數(shù)熱圖

這個(gè)論文中沒有提供數(shù)據(jù)迟几,我手動(dòng)整理下來了格式如下

image.png

作圖代碼

library(readxl)
library(ggplot2)
library(tidyverse)
library(paletteer)
library(latex2exp)

df<-read_excel("data/20230207/figure1f.xlsx")
x_axis<-c('Brain','Heart','Lungs','Kidney','Liver','Vis AT')
y_axis<-c('Sc AT','Vis AT','Liver','Kidney','Lungs','Heart')

table(df$var1)
table(df$var2)


df<-df %>% 
  mutate(var1=factor(var1,levels = x_axis),
         var2=factor(var2,levels = y_axis))

txt.df<-data.frame(x=1:7,
                   y=7:1,
                   label=c('Brain','Heart','Lungs','Kidney','Liver','Vis AT','Sc AT'))
p1<-ggplot(data=df,aes(x=var1,y=var2))+
  geom_tile(aes(fill=value),
            color="black")+
  geom_text(aes(label=value))+
  geom_text(data=txt.df,
            aes(x=x,y=y,label=label))+
  #scale_x_discrete(expand = expansion(mult = c(0,0)))+
  #scale_y_discrete(expand = expansion(mult = c(0,0)))+
  theme_bw()+
  theme(axis.text = element_blank(),
        axis.ticks = element_blank(),
        panel.grid = element_blank(),
        panel.border = element_blank(),
        legend.position = "left",
        axis.title = element_blank())+
  coord_cartesian(xlim = c(0,8),y=c(0,7))+
  scale_fill_gradient2(low="blue",
                       mid="white",
                       high="red",
                       breaks=c(-0.11,0,0.17),
                       name=TeX(r"(\textit{r} value)"),
                       midpoint=0)+
  guides(fill=guide_colorbar(barheight = 10,
                             ticks.colour = "black"))

p1
image.png

怎么把圖例做成和論文中的一樣我暫時(shí)想不到了古今,ggplot2這個(gè)這個(gè)圖例好像只能是最小值和最大值货邓,比如現(xiàn)在最大值是0.17,我先讓圖例映射到1馏艾,這個(gè)好像實(shí)現(xiàn)不了

做三個(gè)一樣的举瑰,然后拼圖

p1+
  labs(title="Art")+
  theme(plot.title = element_text(hjust=0.5,
                                  face="bold",
                                  size=20)) -> pA


p1+
  labs(title="Cap")+
  theme(plot.title = element_text(hjust=0.5,
                                  face="bold",
                                  size=20),
        legend.position = "none") -> pB

p1+
  labs(title="Ven")+
  theme(plot.title = element_text(hjust=0.5,
                                  face="bold",
                                  size=20),
        legend.position = "none") ->pC

library(patchwork)

pA+pB+pC

然后將柱形圖和熱圖拼到一起

(pe1+pe2+pe3)/(pA+pB+pC)
image.png

示例數(shù)據(jù)和代碼可以給推文點(diǎn)贊,然后點(diǎn)擊在看蔬螟,最后留言獲取

歡迎大家關(guān)注我的公眾號(hào)

小明的數(shù)據(jù)分析筆記本

小明的數(shù)據(jù)分析筆記本 公眾號(hào) 主要分享:1此迅、R語言和python做數(shù)據(jù)分析和數(shù)據(jù)可視化的簡(jiǎn)單小例子;2旧巾、園藝植物相關(guān)轉(zhuǎn)錄組學(xué)耸序、基因組學(xué)、群體遺傳學(xué)文獻(xiàn)閱讀筆記鲁猩;3坎怪、生物信息學(xué)入門學(xué)習(xí)資料及自己的學(xué)習(xí)筆記搅窿!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末男应,一起剝皮案震驚了整個(gè)濱河市娱仔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌借卧,老刑警劉巖筛峭,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜒滩,死亡現(xiàn)場(chǎng)離奇詭異俯艰,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)画株,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門谓传,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芹关,“玉大人侥衬,你說我怎么就攤上這事≈甭” “怎么了怀樟?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵往堡,是天一觀的道長。 經(jīng)常有香客問我养葵,道長瘩缆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任谐算,我火速辦了婚禮归露,結(jié)果婚禮上剧包,老公的妹妹穿的比我還像新娘。我一直安慰自己一铅,他們只是感情好堕油,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布掉缺。 她就那樣靜靜地躺著,像睡著了一般艰毒。 火紅的嫁衣襯著肌膚如雪搜囱。 梳的紋絲不亂的頭發(fā)上犬辰,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天冰单,我揣著相機(jī)與錄音诫欠,去河邊找鬼。 笑死轿偎,一個(gè)胖子當(dāng)著我的面吹牛被廓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼睁冬!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起豆拨,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤施禾,失蹤者是張志新(化名)和其女友劉穎相味,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拓巧,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡肛度,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年投慈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了伪煤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡职烧,死狀恐怖防泵,靈堂內(nèi)的尸體忽然破棺而出捷泞,到底是詐尸還是另有隱情锁右,我是刑警寧澤讶泰,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站谆焊,受9級(jí)特大地震影響辖试,放射性物質(zhì)發(fā)生泄漏罐孝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望收班。 院中可真熱鬧谒兄,春花似錦承疲、人聲如沸燕鸽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽舆声。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赵誓,已是汗流浹背俩功。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國打工胰挑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留豺谈,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓团南,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拷橘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子喜爷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容