跟著Nature microbiology學畫圖~R語言ggplot2畫氣泡圖

今天要模仿的圖片來自于論文 Core gut microbial communities are maintained by beneficial interactions and strain variability in fish。期刊是 Nature microbiology

image.png

今天重復的圖片是Figure2中的氣泡圖

image.png
首先是準備數(shù)據(jù)
image.png

需要練習數(shù)據(jù)可以直接在文末留言

讀入數(shù)據(jù)
df<-read.csv("example_data/bubble_plot_example.csv",
             header=T)
df
讀入的數(shù)據(jù)是寬格式,ggplot2作圖需要用長格式數(shù)據(jù),對寬格式數(shù)據(jù)進行轉化
df1<-reshape2::melt(df)
df1
最基本的散點圖
ggplot(df1,aes(x=x,y=variable))+
  geom_point()
image.png
用數(shù)值來映射顏色和大小
ggplot(df1,aes(x=x,y=variable))+
  geom_point(aes(color=value,size=value))
image.png

接下來是進行美化

去掉灰色背景
ggplot(df1,aes(x=x,y=variable))+
  geom_point(aes(color=value,size=value))+
  theme(panel.background = element_blank())
image.png
添加網(wǎng)格線
ggplot(df1,aes(x=x,y=variable))+
  geom_point(aes(color=value,size=value))+
  theme(panel.background = element_blank(),
        panel.grid = element_line(color="grey"))
image.png
去掉坐標軸的標題和更改x軸字體的方向和字體的顏色
ggplot(df1,aes(x=x,y=variable))+
  geom_point(aes(color=value,size=value))+
  theme(panel.background = element_blank(),
        panel.grid = element_line(color="grey"),
        axis.title = element_blank(),
        axis.ticks = element_blank(),
        axis.text.x=element_text(angle = 45,hjust = 1,
                                 colour = c("red","red","red","red",
                                            "green","red","yellow")))

image.png

接下來是更改圖例的一些操作

首先是去掉顏色的圖例
ggplot(df1,aes(x=x,y=variable))+
  geom_point(aes(color=value,size=value))+
  theme(panel.background = element_blank(),
        panel.grid = element_line(color="grey"),
        axis.title = element_blank(),
        axis.ticks = element_blank(),
        axis.text.x=element_text(angle = 45,hjust = 1,
                                 colour = c("red","red","red","red",
                                            "green","red","yellow")))+
  guides(color=FALSE)
image.png
更改圖例的位置
ggplot(df1,aes(x=x,y=variable))+
  geom_point(aes(color=value,size=value))+
  theme(panel.background = element_blank(),
        panel.grid = element_line(color="grey"),
        axis.title = element_blank(),
        axis.ticks = element_blank(),
        legend.position = "bottom",
        axis.text.x=element_text(angle = 45,hjust = 1,
                                 colour = c("red","red","red","red",
                                            "green","red","yellow")))+
  guides(color=FALSE)
更改圖例的標題和標題的位置
ggplot(df1,aes(x=x,y=variable))+
  geom_point(aes(color=value,size=value))+
  theme(panel.background = element_blank(),
        panel.grid = element_line(color="grey"),
        axis.title = element_blank(),
        axis.ticks = element_blank(),
        legend.position = "bottom",
        axis.text.x=element_text(angle = 45,hjust = 1,
                                 colour = c("red","red","red","red",
                                            "green","red","yellow")))+
  guides(color=FALSE,
         size=guide_legend(title.position = "top",
                           title.hjust = 0.5))+
  labs(size="Relative abundance (%)")
image.png
最后更改一下填充顏色和點的大小
ggplot(df1,aes(x=x,y=variable))+
  geom_point(aes(color=value,size=value))+
  theme(panel.background = element_blank(),
        panel.grid = element_line(color="grey"),
        axis.title = element_blank(),
        axis.ticks = element_blank(),
        legend.position = "bottom",
        axis.text.x=element_text(angle = 45,hjust = 1,
                                 colour = c("red","red","red","red",
                                            "green","red","yellow")))+
  guides(color=FALSE,
         size=guide_legend(title.position = "top",
                           title.hjust = 0.5,
                           override.aes = 
                             list(size=c(1,2,3,4))))+
  labs(size="Relative abundance (%)")+
  scale_color_viridis_c()+
  scale_size_continuous(range = c(1,20))
image.png

歡迎大家關注我的公眾號
小明的數(shù)據(jù)分析筆記本

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容