R-柱形图绘制

#安装相关数据包
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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值