library(ggplot2)
library(scales)
library(magrittr)
library(tidyr)
fst_s_d=read.table("LRP1B_fst_s_d_extend1000kb.txt",header=F)
fst_s_w=read.table("LRP1B_fst_s_w_extend1000kb.txt",header=F)
head(fst_s_d)
colnames(fst_s_d) <- c("chr","pos_start","pos_end","no","no1","fst")
colnames(fst_s_w) <- c("chr","pos_start","pos_end","no","no1","fst")
fst_s_d$pos_start_Mb=fst_s_d$pos_start/1000000
fst_s_d$pos_end_Mb=fst_s_d$pos_end/1000000
fst_s_w$pos_start_Mb=fst_s_w$pos_start/1000000
fst_s_w$pos_end_Mb=fst_s_w$pos_end/1000000
P=ggplot() +
geom_line(data=fst_s_d,aes(x = pos_end_Mb,y =fst),colour="red",size=1.5) +
geom_line(data=fst_s_w,aes(x = pos_end_Mb,y = rescale(fst_s_w$fst,c(0,0.05))),colour="black",size=1.5) +
scale_y_continuous(breaks=seq(0,0.05,0.01),limits=c(0,0.05),sec.axis = sec_axis( ~rescale(.,c(min(fst_s_w$fst),max(fst_s_w$fst)))))+ #这一步必须加上break后面的,因为图是以此尺度为依据进行数据转换
labs(x = "Position(Mb)", y = "Fst(Sonid vs Wild)") +
theme_bw(base_size = 16)+
theme(panel.grid = element_blank(),axis.line = element_line(colour = 'black'),panel.background = element_rect(fill = "transparent"),axis.title.y = element_text(face = "bold"))+
theme(axis.text.x = element_text(angle = 270,size=9.5,face="bold",hjust = 0.5, vjust = 0.5))+theme(plot.title = element_text(hjust =0.5,size=11,face="bold"))
ggsave(P,file="B3.tiff",width=12,height=3)
绘制双坐标图
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、数据表格问题 当我们制作有两个系列及其以上的数据图表的时候,如果两组数据的差距特别大,在同一纵坐标轴下,就无法...
- 导语:工作中常常需要用 EXCEL 绘制各种统计分析图,可是再将2个差距很大的数值进行制表时,数据偏小的坐标轴就无...
- 例:(面向对象方式绘制极坐标) 官方文档: matplotlib.pyplot.bar matplotlib.py...