R语言基础绘图——柱状图

R语言基础绘图——柱状图

采用barplot函数绘制柱状图
library(ggplot2)
library(gcookbook)
cabbage_exp   #内置数据,含Cultivar Date Weight sd n se 六列,Cultivar包含c39和c52两类,Date包含d16,d20,d21三类
M<-c(1,2,3,4,5,6)


barplot(cabbage_exp$Weight,xlab="cabbage",ylab="Weight",col="blue", main="cabbage weight",border="red")
参数:
①    H - 是包含在柱状图中使用数值的矢量或矩阵。
②    xlab - 是标签为X轴。
③    ylab - 是标签为Y轴。
④    main - 是柱状图的标题名称
⑤    col - 用于给出在图中的条状的颜色。
⑥    border – 柱状图边框
⑦    names.arg - 是出现在每个条的向量名称。

attachments-2017-07-adTd5GIO59732831f113


采用ggplot函数绘制简单柱状图
library(ggplot2)
library(gcookbook)
cabbage_exp   #内置数据,含Cultivar Date Weight sd n se 六列,Cultivar包含c39和c52两类,Date包含d16,d20两类


ggplot(cabbage_exp,aes(x=Date,y=Weight))+geom_bar(stat="identity")

attachments-2017-07-PoLZ2Hzd597328c33007

美化调整:

ggplot(cabbage_exp,aes(x=Date,y=Weight,fill="red"))+geom_bar(stat="identity",width=0.5)
①    geom_bar():绘制柱状图
②    stat="identity":指定了柱状图的高度(y)
③    fill:填充柱状颜色
④    width:调节柱状宽度

attachments-2017-07-TRbC3tVQ597328f78738


采用ggplot函数绘制堆积柱状图
ggplot(cabbage_exp,aes(x=Date,y=Weight,fill=Cultivar))+geom_bar(stat="identity")

attachments-2017-07-pWputEA95973293a158b


采用ggplot函数绘制分组柱状图
ggplot(cabbage_exp,aes(x=Date,y=Weight,fill=Cultivar))+geom_bar(position="dodge",stat="identity")
attachments-2017-07-iyLt09FV59732969d99f


美化调整
ggplot(cabbage_exp,aes(x=Date,y=Weight,fill=Cultivar))+geom_bar(position=position_dodge(0.7),stat="identity",width=0.5)


#position=position_dodge(*):设置两柱相对位置

#也可以使用scale_fill_manual(values=c(*,*)):手动更改柱填充颜色

attachments-2017-07-vqVgmBbt597329a15f15


给正值和负值柱状图赋予不同颜色
取出部分数据
climate_part<- subset(climate, Source=="Berkeley" & Year >= 1900) ggplot(climate_part,aes(x=Year,y=Anomaly10y))+geom_bar(stat="identity")

对>0的值赋TURE,否则赋FALSE,并对p分组
climate_part$p<-climate_part$Anomaly10y>0
ggplot(climatepart, aes(x=Year, y=Anomaly10y, fill=p)) +geom_bar(stat="identity")+scale_fill_manual(values=c("red","blue"),guide=FALSE)
#guide=FALSE取消示例图标

attachments-2017-07-FmJgTUuE59732bc4696e

进一步标明最大值最小值所在
rowmax<-which(climatepart$Anomaly10y==max(climatepart$Anomaly10y))
rowmin<-which(climatepart$Anomaly10y==min(climatepart$Anomaly10y))
ggplot(climatepart, aes(x=Year, y=Anomaly10y, fill=p)) +geom_bar(stat="identity")+scale_fill_manual(values=c(6,2,3,4))

#颜色可进行进一步美观调整

attachments-2017-07-65rBxdUn59732c5d0d42




  • 发表于 2017-07-22 18:44
  • 阅读 ( 16284 )
  • 分类:编程语言

2 条评论

请先 登录 后评论
不写代码的码农
爽儿

学生

25 篇文章

作家榜 »

  1. 祝让飞 118 文章
  2. 柚子 91 文章
  3. 刘永鑫 64 文章
  4. admin 57 文章
  5. 生信分析流 55 文章
  6. SXR 44 文章
  7. 张海伦 31 文章
  8. 爽儿 25 文章