搜索
查看: 2127|回复: 0

跟polya学ggplot2画geom_***图实例

[复制链接]

11

主题

14

帖子

178

积分

版主

Rank: 7Rank: 7Rank: 7

积分
178
发表于 2017-2-16 20:18:12 | 显示全部楼层 |阅读模式
本帖最后由 polya 于 2017-2-16 20:18 编辑

工欲善其行,必先利其器,先用代码跑起来,再寻找自己不懂的内容,从不知中学习其精要。实例代码+测试数据

发现一个bug:q-value 的横线界线0.05处,图片输出分隔界定位不准,如何解决。
问题:
掌握ggplot2的技能三个标准:
是否能画出指定的ggplot2的几何对象的精细图?
是否能查找文档后使用参数?是否能抒数据,结合其他包?

ggplot2包的定位在于结果的可视化
可视化过程,可以结合说明文档解决,查找到相应的参数。
但是抒数据,就需要统计学方面的背景知识,以及其他协助的包。









[AppleScript] 纯文本查看 复制代码
#purpose:ggplot2 geom_test
#methods:read *.txt
#author:polya
#attention:
library(ggplot2)#load package
library(plyr)
library(reshape2)
#library(scales)
rm(list=ls())#remove all temp var
#args<-commandArgs(TRUE)
setwd("D:/Test/R/ggplot2_test")
#setwd(args[1])
m<-read.table("ggplot2_test1.txt",header=T,comment.char = "", encoding="utf-8")#read table in setwad path.
#m
GetID <- m[,1]#read  first col
#GetID
GetName <- c()#define a array
#GetName
for(i in GetID+1){
  GetName[i] <- paste0("ID",i-1) #push into array
}
GetName
geomAssinged <- m[,4]
geomAssinged
q.value <- m[,6]#get q.value from *.txt
q.value
png_name <- "geom_test.png"
png_name
dft <- data.frame(GetName,geomAssinged,q.value)
dft
pdf("geom_test.pdf",width=8,height=6)
ggplot(dft,aes(x=GetName,y=geomAssinged,fill=q.value))+
  geom_bar(stat="identity")+
  scale_fill_gradientn(colours=c("red","lightblue","blue"),
                       values = rescale(c(0,0.05,1)),
                       breaks=c(0,0.05,1),
                       labels=c("     0.00","     0.05\n","     1.00"),
                       name="q-value",
                       guide = "colorbar",
                       limits=c(0,1))+
  geom_text(aes(label=geomAssinged),size=2,vjust=-0.35)+
  xlab(" geomName x-axis")+
  ylab(" geomName y-axis")+
  theme(axis.text.x = element_text(angle = 90, hjust = 1,size=8,colour ="black"))+
  theme(axis.text.y = element_text(size=8,colour ="black"))+
  theme(panel.grid =element_blank()) +
  theme(axis.line = element_line(size=1, colour = "black")) +
  theme(panel.background = element_blank())+
  theme(plot.title = element_text(lineheight=.8, face="bold",hjust=0.5,size=12))+
  theme(legend.title = element_text(size=8,face='bold',colour='black'))+
  ggtitle("geom_test1")
ggsave(png_name, width=8, height=6,dpi=300)
dev.off()




测试数据在附件。






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x



上一篇:直接在线用TCGA的数据来做预后分析OncoLnc
下一篇:Platypus-一个新的找变异位点的软件
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-9-22 00:14 , Processed in 0.028982 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.