首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动生成图层

自动生成图层
EN

Stack Overflow用户
提问于 2018-06-21 13:57:07
回答 1查看 44关注 0票数 1

我试图构建一个函数,它可以在一些ggplot层中自动地进行更改。具体来说,我编写了一个应该修改axis.textaxis.title的函数。

代码语言:javascript
复制
axis_view_presentation<-function(plot,data,axis_title_x,axis_title_y,...)
{
 #browser()
  if(axis_title_x==TRUE & axis_title_y==TRUE )
  {
    plot+theme(plot.title = element_text(hjust=0.5,size=20,face="bold"),
      axis.text.x = element_text(size=18,hjust=1,...),
      axis.text.y = element_text(size=18,hjust=1,...),
      axis.title.x =element_text(size=18,...),
      axis.title.y = element_text(size=18,...))

  }

  if(axis_title_x==FALSE & axis_title_y==TRUE )
  {
    plot+theme(plot.title = element_text(hjust=0.5,size=20,face="bold"),
      axis.text.x = element_text(size=18,hjust=1,...),
      axis.text.y = element_text(size=18,hjust=1,...),
      axis.title.x =element_blank(),
      axis.title.y = element_text(size=18,...))
  }

  if(axis_title_x==TRUE & axis_title_y==FALSE )
  {
    plot+theme(plot.title = element_text(hjust=0.5,size=20,face="bold"),
      axis.text.x = element_text(size=18,hjust=1,...),
      axis.text.y = element_text(size=18,hjust=1,...),
      axis.title.y =element_blank(),
      axis.title.x = element_text(size=18,...))
  }

  if(axis_title_x==FALSE & axis_title_y==FALSE )
  {
    plot+theme(plot.title = element_text(hjust=0.5,size=20,face="bold"),
      axis.text.x = element_text(size=18,hjust=1,...),
      axis.text.y = element_text(size=18,hjust=1,...),
      axis.title.x =element_blank(),
      axis.title.y = element_blank())
  }

}

可复制的例子

代码语言:javascript
复制
data<-data.frame(x=rnorm(20),y=rnorm(20))
p<-ggplot(data=data,aes(x=x,y=y))+
        geom_point()

返回这个

如果我调用我的函数

代码语言:javascript
复制
 p%>%axis_view_presentation(data=data,axis_title_x=TRUE,axis_title_y=FALSE)

它给了我上面显示的同样的情节

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-21 14:03:26

你得把情节还回去

代码语言:javascript
复制
    axis_view_presentation<-function(plot,data,axis_title_x,axis_title_y,...)
{
  #browser()
  if(axis_title_x==TRUE & axis_title_y==TRUE )
  {
    plot_new <-  plot+theme(plot.title = element_text(hjust=0.5,size=20,face="bold"),
               axis.text.x = element_text(size=18,hjust=1,...),
               axis.text.y = element_text(size=18,hjust=1,...),
               axis.title.x =element_text(size=18,...),
               axis.title.y = element_text(size=18,...))

  }

  if(axis_title_x==FALSE & axis_title_y==TRUE )
  {
    plot_new <-  plot+theme(plot.title = element_text(hjust=0.5,size=20,face="bold"),
               axis.text.x = element_text(size=18,hjust=1,...),
               axis.text.y = element_text(size=18,hjust=1,...),
               axis.title.x =element_blank(),
               axis.title.y = element_text(size=18,...))
  }

  if(axis_title_x==TRUE & axis_title_y==FALSE )
  {
    plot_new <-  plot+theme(plot.title = element_text(hjust=0.5,size=20,face="bold"),
               axis.text.x = element_text(size=18,hjust=1,...),
               axis.text.y = element_text(size=18,hjust=1,...),
               axis.title.y =element_blank(),
               axis.title.x = element_text(size=18,...))
  }

  if(axis_title_x==FALSE & axis_title_y==FALSE )
  {
   plot_new <- plot+theme(plot.title = element_text(hjust=0.5,size=20,face="bold"),
               axis.text.x = element_text(size=18,hjust=1,...),
               axis.text.y = element_text(size=18,hjust=1,...),
               axis.title.x =element_blank(),
               axis.title.y = element_blank())
  }
  return(plot_new)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50970374

复制
相关文章

相似问题

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