> colnames(data1)[seq(2,ncol(data1), 15)] [1] "AAAA" "AAGG" "ATGC" "ACGT" "AGGA" "TACG" "TTCC" "TCCT" "TGCA" "CATG" [11] "CTTC" "CCTT" "CGTA" "GAAG" "GTAC" "GCAT" "GGAA" "GGGG" > ggplot(data2[data2$name==11,], aes(x = Tetra, y = Freq, group = 1)) + geom_line(size=0.2) + theme_bw() + scale_x_discrete(breaks = colnames(data1)[seq(2,ncol(data1), 15)]) // scale_x_discrete 可以设置x轴显示的刻度,调整稀疏程度,比如 breaks=seq(0,12200,1000) > ggplot(data2[data2$name==11,], aes(x = Tetra, y = Freq, group = 1)) + geom_line(size=0.2) + theme_bw() + scale_x_discrete(breaks = colnames(data1)[seq(2,ncol(data1), 15)]) + theme(axis.text.x = element_text(face="bold", color="blue", size=8)) // ggplot2 中有很多 element可以调整矩形,字体,线段的属性,比如 element_rect, element_line, element_blank, element_text // http://docs.ggplot2.org/0.9.2.1/theme.html // panel.margin 用于 theme() 中,主要用于调整绘图区域各图之间的间距 // margin 用于element中,调整element 与周围图形元素的距离 // plot.margin 用于 theme()中,用于调整整个绘图区的边缘位置 > ggplot(data2[data2$name==11,], aes(x = Tetra, y = Freq, group = 1)) + geom_line(size=0.2) + theme_bw() + scale_x_discrete(breaks = colnames(data1)[seq(2,ncol(data1), 15)]) + theme(axis.text.x = element_text(face="bold", color="blue", size=8), plot.margin = unit(c(2,3,3,4),"cm")) 有三种方法可以设置x轴或y轴 刻度范围 > p + scale_x_continuous(limits = c(-5,15)) // 方法一 > p + xlim(-5,15) // 方法二 > p + xlim(min(dt$A, 0)*1.2, max(dt$A)*1.2) // 一般使用倍数来限定大小,注意定义最小值的方式 > // 在theme 中可以用 axis.title.x或y 调整坐标轴的标识 // geom_text(aes(label = "point_k")) // 这个可以给点添加文字label // scale_size 可以把图中的数据点转化为不同大小的点 // //
原始绘图代码:
> library(ggplot2) > library(reshape2) > setwd("/Users/m/working/R_bin_two/new_bin") > data1 <- read.table("result_data_g2.txt", header=T, check.names = F, fill =T) > data2 <- melt(data1, id="name") > colnames(data2)[2:3] <- c("Tetra","Freq") > data2[,1] <- as.factor(data2[,1]) > p <- ggplot(data2, aes(x = Tetra, y = Freq, group = name, colour = name)) > p + geom_line(size=0.2) > p + theme_bw() > p + scale_x_discrete(breaks = colnames(data1)[seq(2,ncol(data1), 15)]) > p + guides(color = guide_legend(ncol=6)) > p + theme(axis.text.x = element_text(face="bold", color="blue", size=8), plot.margin = unit(c(2,3,3,4),"cm"))
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。