我有下面的数据框架,我用facet_grid()创建了一个气泡图。问题是我在y-axis中有很长的名称,而且facet名称也很长,它们不能完全显示。
BIO<-c('posttranslational protein folding (GO:0051084)posttranslational protein folding (GO:0051084)',"'de novo' protein folding (GO:0006458)",
'posttranslational protein folding (GO:0051085)',"'de novo' protein folding (GO:0006451)",
'posttranslational protein folding (GO:0051086)',"'de novo' protein folding (GO:00064582)",
'posttranslational protein folding (GO:0051087)',"'de novo' protein folding (GO:00064583)",
'posttranslational protein folding (GO:00510844)',"'de novo' protein folding (GO:00064588)",
'posttranslational protein folding (GO:00510855)',"'de novo' protein folding (GO:00064511)",
'posttranslational protein folding (GO:00510866)',"'de novo' protein folding (GO:000645822)",
'posttranslational protein folding (GO:00510877)',"'de novo' protein folding (GO:00064583)")
FE<-c(5,10,15,20,25,35,10,15,5,10,15,20,25,35,10,15)
FDR<-c(7.67e-05,7.67e-05,7.67e-04,7.67e-03,7.67e-03,7.67e-03,7.67e-02,7.67e-02,
6.67e-05,8.67e-05,4.67e-05,3.67e-05,3.67e-05,4.67e-05,5.67e-05,6.67e-05 )
face<-c("Aaaaaaaaaaa","Aaaaaaaaaaa","Aaaaaaaaaaa","Aaaaaaaaaaa",
"baaaaaaaaaa","baaaaaaaaaa","baaaaaaaaaa","baaaaaaaaaa",
"caaaaaaaaaa","caaaaaaaaaa","caaaaaaaaaa","caaaaaaaaaa",
"daaaaaaaaaa","daaaaaaaaaa","daaaaaaaaaa","daaaaaaaaaa"
)
d<-data.frame(BIO,FE,FDR,face)
# Libraries
library(ggplot2)
library(dplyr)
# Most basic bubble plot
d %>%
arrange(desc(FDR)) %>%
ggplot(aes(x=FE, y=BIO, size=FE, color=FDR)) +
geom_point(alpha=0.5) +
scale_size(range = c(.1, 24), name="Population (M)")+ facet_grid(cols = vars(face))

发布于 2020-08-29 22:50:22
我建议尝试为字符串中的特定模式添加一些分隔线。我使用BIO2和gsub()对您的代码进行了细微的修改
#Data
BIO<-c('posttranslational protein folding (GO:0051084)posttranslational protein folding (GO:0051084)',"'de novo' protein folding (GO:0006458)",
'posttranslational protein folding (GO:0051085)',"'de novo' protein folding (GO:0006451)",
'posttranslational protein folding (GO:0051086)',"'de novo' protein folding (GO:00064582)",
'posttranslational protein folding (GO:0051087)',"'de novo' protein folding (GO:00064583)",
'posttranslational protein folding (GO:00510844)',"'de novo' protein folding (GO:00064588)",
'posttranslational protein folding (GO:00510855)',"'de novo' protein folding (GO:00064511)",
'posttranslational protein folding (GO:00510866)',"'de novo' protein folding (GO:000645822)",
'posttranslational protein folding (GO:00510877)',"'de novo' protein folding (GO:00064583)")
FE<-c(5,10,15,20,25,35,10,15,5,10,15,20,25,35,10,15)
FDR<-c(7.67e-05,7.67e-05,7.67e-04,7.67e-03,7.67e-03,7.67e-03,7.67e-02,7.67e-02,
6.67e-05,8.67e-05,4.67e-05,3.67e-05,3.67e-05,4.67e-05,5.67e-05,6.67e-05 )
face<-c("Aaaaaaaaaaa","Aaaaaaaaaaa","Aaaaaaaaaaa","Aaaaaaaaaaa",
"baaaaaaaaaa","baaaaaaaaaa","baaaaaaaaaa","baaaaaaaaaa",
"caaaaaaaaaa","caaaaaaaaaa","caaaaaaaaaa","caaaaaaaaaa",
"daaaaaaaaaa","daaaaaaaaaa","daaaaaaaaaa","daaaaaaaaaa"
)
#Modify BIO
BIO2 <- gsub(')',')\n',BIO,fixed = T)
d<-data.frame(BIO2,FE,FDR,face)
# Libraries
library(ggplot2)
library(dplyr)
# Most basic bubble plot
d %>%
arrange(desc(FDR)) %>%
ggplot(aes(x=FE, y=BIO2, size=FE, color=FDR)) +
geom_point(alpha=0.5) +
scale_x_continuous(limits=c(NA,50))+
scale_size(range = c(.1, 24), name="Population (M)")+
facet_grid(cols = vars(face),scales = 'free_y')输出:

更新:
BIO<-c('posttranslational protein folding (GO:0051084)posttranslational protein folding (GO:0051084)',"'de novo' protein folding (GO:0006458)",
'posttranslational protein folding (GO:0051085)',"'de novo' protein folding (GO:0006451)",
'posttranslational protein folding (GO:0051086)',"'de novo' protein folding (GO:00064582)",
'posttranslational protein folding (GO:0051087)',"'de novo' protein folding (GO:00064583)",
'posttranslational protein folding (GO:00510844)',"'de novo' protein folding (GO:00064588)",
'posttranslational protein folding (GO:00510855)',"'de novo' protein folding (GO:00064511)",
'posttranslational protein folding (GO:00510866)',"'de novo' protein folding (GO:000645822)",
'posttranslational protein folding (GO:00510877)',"'de novo' protein folding (GO:00064583)")
FE<-c(5,10,15,20,25,35,10,15,5,10,15,20,25,35,10,15)
FDR<-c(7.67e-05,7.67e-05,7.67e-04,7.67e-03,7.67e-03,7.67e-03,7.67e-02,7.67e-02,
6.67e-05,8.67e-05,4.67e-05,3.67e-05,3.67e-05,4.67e-05,5.67e-05,6.67e-05 )
face<-c("Aaaaaaaaaaa","Aaaaaaaaaaa","Aaaaaaaaaaa","Aaaaaaaaaaa",
"baaaaaaaaaa","baaaaaaaaaa","baaaaaaaaaa","baaaaaaaaaa",
"caaaaaaaaaa","caaaaaaaaaa","caaaaaaaaaa","caaaaaaaaaa",
"daaaaaaaaaa","daaaaaaaaaa","daaaaaaaaaa","daaaaaaaaaa"
)
#Modify BIO
BIO2 <- gsub('(GO','\n(GO',BIO,fixed = T)
d<-data.frame(BIO2,FE,FDR,face)
# Libraries
library(ggplot2)
library(dplyr)
# Most basic bubble plot
d %>%
arrange(desc(FDR)) %>%
ggplot(aes(x=FE, y=BIO2, size=FE, color=FDR)) +
geom_point(alpha=0.5) +
scale_x_continuous(limits=c(NA,50))+
scale_size(range = c(.1, 24), name="Population (M)")+
facet_grid(cols = vars(face),scales = 'free_y')输出:

https://stackoverflow.com/questions/63648170
复制相似问题