#安装相关数据包
install.packages("dplyr")
install.packages("ggplot2")
install.packages("esquisse")
install.packages("ggThemeAssist")
install.packages("ggrepel")
install.packages("VennDiagram")
install.packages("survival")
#加载相关数据包
library("ggplot2")
library("esquisse")
library("ggThemeAssist")
library(ggrepel)
library(RColorBrewer)
library(grid)
library(futile.logger)
library(VennDiagram)
library("survival")
#!!!!怎么把数据处理成作图所要的数据结构!!!!
#绘制简单的柱形图
bar_data <- data.frame(Group=c("A","B","C"), value=c(1,2,3))
bar_data
p<-ggplot(data = bar_data, mapping = aes(x=Group, y=value, fill=Group))
#这一行代码定义了一个坐标系,一个图和数据的映射。即Group为x轴,data.frame里面向量value为y轴,
#第一个参数是data,对应的必须是data.frame,把bar_data赋值给data,都不能是矩阵
aes(x=Group, y=value, 刺客=伍六七)
#第二个参数mapping(映射关系),aes是ggplot2自己定义的数据结构,即x对应Group,y对应value,fill对应Group
p+geom_bar(stat = "identity")#在p这个坐标系上添加一个图的对象
#geom(图的对象),所有图都必须用geom开头,例如geom_bar就是柱形图,图可以逐层添加
#指定统计参数stat为identity,即不做任何统计;默认的统计方式为count,即为统计计数,数一数每个分类有几个
p+geom_point(stat = "identity")+geom_bar(stat = "identity")#geom_point即为点的对象
p<-p+geom_bar(stat = "identity")#给p重新赋值为柱形图
#用scale_fill_manual修改图的颜色,此处values指定的是一个向量
p<-p+scale_fill_manual(values = c("#FF0000FF","#00FF00","#00FF00"))
p<-p+scale_fill_manual(values = brewer.pal(12,"Set3")[1:3])
#添加误差棒
#首先得定义误差棒上下限的点在哪
errorbar_data<-data.frame(bar_data, ymin<-c(0.9, 1.8, 2.7), ymax<-c(1.1, 2.2, 3.3))
p<-p+geom_errorbar(data = errorbar_data, mapping = aes(ymin=ymin,ymax=ymax), width=0.2)
#width参数用于赋值误差棒上下横线的宽度
#添加显著性标记
sig_data<-data.frame(bar_data, x1=c(1,2,3), y1=c(1.3, 2.4, 3.5), label=c("a", "b", "c"))
p<-p+geom_text(data = sig_data, mapping = aes(x=x1,y=y1,label=label), size=5)
#调整主题,字号
p<-p+theme_classic()+theme(text = element_text(size=25))#theme classic就是改背景
#theme调整坐标轴、背景等的外观
p<-p+scale_y_continuous(expand = c(0,0))#scale_y_continuous此处使得柱子和X轴贴合
p<-p+scale_y_continuous(limits=c(0,4),expand = c(0,0))#limits用于指定y轴范围
#修改纵坐标位置
p
p<-p+scale_y_continuous(breaks=c(1,3))
#获取帮助
help(scale_alpha_continuous)
#修改图例
p+guides(fill=NULL)
p+guides(fill=guide_legend(title=""))#去掉了图例Group
p+theme(legend.position="none")
df<-data.frame(a=c(1,2,3),b=c(3,4,5))
apply(df,2,mean)
apply(df,1,sd)
#apply函数的应用,第一个参数指定数据框;第二个参数,1指定行,2指定列;第三个参数指定操作
display.brewer.all()
R-柱形图绘制
最新推荐文章于 2024-11-12 23:43:13 发布