##清除工作空间的变量,注意共享代码不要带有这条命令
rm(list=ls())
##加载绘图包
library(ggplot2)
##查看当前路径,并设置工作路径
getwd();
setwd("E:/DATA2");
getwd();
##查看当前工作空间的变量
ls();
##数据--数据属性以及数据框的变换
## 读入数据,如果不在当前工作环境下,要添加数据所在的具体路径
Data01 <- read.table("type01.txt",sep="\t",header=TRUE,stringsAsFactors=FALSE)
Data02 <- read.table("type02.txt",sep="\t",header=TRUE,stringsAsFactors=FALSE)
##做基本图--interaction___geom_point()、
p1 <- ggplot(Data01,aes(x=Type,y=numbers,fill=Type))+geom_bar(stat="identity")
p2 <- ggplot(Data02,aes(x=relation,y=PATEnumber,fill=type))+geom_bar(stat="identity",width=0.69,position=position_dodge(0.7))
p2 <- ggplot(AllData,aes(x=Week,y=les,group =year,color=as.factor(year)))+geom_line()
##添加文本注释
p1 <- p1+annotate("text",x=3,y=4,label="group 1")
###设置图片的字体族、字体大小、颜色,对齐方式、旋转角度
##在Windows下的字体族添加到R语言中,如果采用R自带的字体族可以直接用,这条命名可以注释掉
windowsFonts(roman=windowsFont("Times New Roman"))
##标题----添加图片标题并设置标题
p1 <- p1+ggtitle("A")+theme(plot.title=element_text(family="roman",face="bold",colour="black",size=14))
##图形主标题main
##坐标轴---添加坐标轴标签
p1 <- p1+xlab("Poly(A) sites types") + ylab("Numbers of poly(A) sites")
##坐标轴---修改坐标刻度标签的项目顺序以及标签
p1 <- p1+scale_fill_discrete(limits=c("TR","5UR","CS","inter","ter","intn"),labels=c("UTR","5UR","CS","inter","ter","intn"))
##坐标轴---设置坐标刻度标签的字体大小等外观
p1 <- p1+theme(axis.text.x=element_text(family="roman",face="bold",colour="black",size=14,angle=30,hjust=0.5,vjust=1))
#p1 <- p1+theme(axis.text.x=element_blank())
p1 <- p1+theme(axis.text.y=element_text(family="roman",face="bold",colour="black",size=14))
##坐标轴---设置坐标轴标签文本的外观
#p1 <- p1+theme(axis.title.x=element_text(family="roman",face="bold",colour="black",size=14))
p1 <- p1+theme(axis.title.x=element_blank())
p1 <- p1+theme(axis.title.y=element_text(family="roman",face="bold",colour="black",size=14))
##图例--修改图例的标签以及位置
p1 <- p1+labs(fill="Types")
#p1 <- p1+theme(legend.position=c(0.9,0.8),legend.background=element_rect(fill="white",colour="black"))
p1 <- p1+theme(legend.position=c(0.88,0.8))
##图例--设置图例标签和图例标题字体,大小等
p1 <- p1+theme(legend.title=element_text(family="roman",face="bold",colour="black",size=14))
p1 <- p1+theme(legend.text=element_text(family="roman",face="bold.italic",colour="black",size=12))
##注解--添加独立的图形元素和文本元素
# 添加文本注解---文本类几何对象
p1 <- p1+annotate("text",x=-Inf,y=Inf,label="A",hjust=-.2,vjust=2,family="roman",face="bold",colour="black",size=14)
##添加直线
geom_hline(yintercept=60)+geom_vline(xintercept=14)
##添加箭头灯
library(grid)
p1 <- p1+annotate("segment",x=1,xend=2,y=2,yend=8,size=14)
##配色--几何对象的颜色--分为映射和设置两种类型,边界色和填充色
##离散型变量和连续型变量所对应的调色板
p1+scale_fill_grey()
##使用自定义调色板
sf_palette =c("#0072B2","#56B4E9","#999999","#0185D2","#009E73")
p1+scale_fill_manual(values=sf_palette)
##使用已配置好的色板
library(RColorBrewer)
p1+scale_fill_brewer(palette="Accent")
##分面
##facet_grid 网格型
##facet_wrap 封装型
###把两幅图放在一个页面上
##加载grid包
library(grid)
##清除当前设备或移动到新的page
grid.newpage()
##用viewport创建视图窗口,并用grid.layout创建布局,同时把布局给视窗
VP <- viewport(layout = grid.layout(1, 2))
##用pushViewport()命令锁定该图层,使之成为目标区域
pushViewport(VP)
##创建布局函数,函数参数是放置图形的位置
vplayout <- function(x, y) viewport(layout.pos.row = x, layout.pos.col = y)
##绘图
print(p1, vp = vplayout(1, 1))
print(p2, vp = vplayout(1, 2))
##矢量型-位图
###保存图形的位置path,名称以及格式,分辨率dpi<对于位图>,输出尺寸width height
##存一幅图--存两幅图打开基于磁盘的图形设备pdf() png()--关闭图形设备dev.off()
#ggsave("E:/Data/myplot.tiff",dpi=300,width=8,height=8,unit="cm")
#ggsave("E:/Data/polyA-TE/TE_polya.tiff",dpi=300,width=3.5,height=3)