首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置要在ggplot中完全显示的长面名称

设置要在ggplot中完全显示的长面名称
EN

Stack Overflow用户
提问于 2020-08-29 22:38:09
回答 1查看 37关注 0票数 0

我有下面的数据框架,我用facet_grid()创建了一个气泡图。问题是我在y-axis中有很长的名称,而且facet名称也很长,它们不能完全显示。

代码语言:javascript
复制
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))

EN

回答 1

Stack Overflow用户

发布于 2020-08-29 22:50:22

我建议尝试为字符串中的特定模式添加一些分隔线。我使用BIO2gsub()对您的代码进行了细微的修改

代码语言:javascript
复制
#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')

输出:

更新:

代码语言:javascript
复制
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')

输出:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63648170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档