关于ggplot改变背景报错的问题
来源:互联网 发布:d3.js canvas 编辑:程序博客网 时间:2024/05/16 17:58
今天打算画一个barplot,然后加上方差,后来想要把背景去掉,加上theme主题,结果发现总会报错,Error in inherits(x, “theme”) : argument “e2” is missing, with no default
搞了两个小时,终于发现错误的原因并不是网页上说的加号太多了,需要写到一起去,而是需要分开写才可以,下面将把具体代码演示如下,如果小伙伴遇到类似问题,可以参考一下。
数据结构
ID Symbol sunlight control
1 L1 1.8092 3.54
2 I2 27.3529 4.408
3 G 1.4845 0.7348
4 5G 32.0455 57.7454
5 ST 19.6581 4.8752
执行代码
library(ggplot2)
library(plyr)
library(reshape2)
data<-read.csv(“rnaseq.csv”,header=TRUE)
melted <- melt(data, id.vars=c(“ID”, “Symbol”))
value_log<-log(melted$value,2)
melted<-cbind(melted,value_log)
means <- ddply(melted, c(“Symbol”, “variable”), summarise,
mean=mean(value_log))
===================================
means.barplot <- qplot(x=Symbol, y=mean, fill=variable,
data=means, geom=”bar”, stat=”identity”,
position=”dodge”,ylab=”log(Mean Expression of genes)”)
means.barplot +
theme(panel.background = element_rect(fill = “transparent”, color = “gray”),
legend.key = element_rect(fill = “transparent”, color = “transparent”),
axis.text = element_text(color = “black”))
===========这样操作不会出现错误============
####################下面引入方差项=========
means.sem <- ddply(melted, c(“Symbol”, “variable”), summarise,
mean=mean(value_log), sem=sd(value_log)/sqrt(length(value_log)))
means.sem <- transform(means.sem, lower=mean-sem, upper=mean+sem)
means.barplot + geom_errorbar(aes(ymax=upper,
ymin=lower),
position=position_dodge(0.9),
data=means.sem)
==================这样也不会报错=================
但是,如果执行如下代码,即同时加上方差项和把背景改为白色就会报错
means.barplot + geom_errorbar(aes(ymax=upper,
ymin=lower),
position=position_dodge(0.9),
data=means.sem)
+ theme(panel.background = element_rect(fill = “transparent”, color = “gray”),
legend.key = element_rect(fill = “transparent”, color = “transparent”),
axis.text = element_text(color = “black”))
就会在console处出现Error in inherits(x, “theme”) : argument “e2” is missing, with no default这样从错误,并且最后一行不会执行;
解决方案
想要解决这样的问题,一个比较简单的方案是分开放到不同的变量里面去
代码展示如下:
p<-means.barplot + geom_errorbar(aes(ymax=upper,
ymin=lower),
position=position_dodge(0.9),
data=means.sem)
+ theme(panel.background = element_rect(fill = “transparent”, color = “gray”),
legend.key = element_rect(fill = “transparent”, color = “transparent”),
axis.text = element_text(color = “black”))
p+ theme(panel.background = element_rect(fill = “transparent”, color = “gray”),
legend.key = element_rect(fill = “transparent”, color = “transparent”),
axis.text = element_text(color = “black”))
这样操作,图就会正常出来了
- 关于ggplot改变背景报错的问题
- ggplot 4.0 主题(标题,图例,背景的精细修改)
- 关于MFC下改变buntton按下、弹起时按钮的背景颜色的问题
- iOS开发 UITableViewCell的背景改变问题
- 关于android中改变TextView背景颜色以及文字颜色的问题
- 关于ListView的背景问题
- 关于导航条的作法:鼠标点后背景改变
- 关于中英文切换 切换后按钮背景颜色改变的
- 关于改变窗口背景颜色、图片的研究
- 改变对话框的背景
- 改变tableView的背景
- 关于@override报错的问题
- 关于@override报错的问题
- 关于@override报错的问题
- 关于@override报错的问题
- 关于@override报错的问题
- 关于标题栏报错的问题
- 关于QuartusII 报错的问题
- adapter.notifyDataSetChanged()使用没有效果的解决办法。
- checkbox全选实例
- jetty meven eclipse集成总结
- Android Intent 用法全面总结
- Linux内核中的常用宏container_of其实很简单
- 关于ggplot改变背景报错的问题
- url参数中出现+,&,?,',%,#,=,空格等字符的解决方法
- 在Ubuntu 14.04 64bit上安装redis 3.0.3
- 蓝懿教育 复杂版计算器的实现
- In与Exists的区别2
- android 触摸事件、点击事件的区别
- Mipmap-Level Measurement
- 通过self.view获得顶端的ViewController
- 产业革命的奇迹