ggplot多组柱状图标记数值

来源:互联网 发布:资本流入本币升值知乎 编辑:程序博客网 时间:2024/05/29 05:11

iris1<-melt(iris, id.vars='Species', measure.vars=c('Sepal.Length','Sepal.Width','Petal.Length','Petal.Width'))

iris1<-data.table(iris1)

iris1_1<-iris1[,list(sumvalue=sum(value)),by=list(Species,variable)]

setorder(iris1_1,Species)

#设置标签的高度,累计的高度为堆叠上面的一半

iris1_2<-iris1_1[,label_y:=cumsum(sumvalue)-sumvalue/2,by=list(Species)]

ggplot(iris1_2,aes(x=factor(Species, levels=levels(iris1_2$Species)[c(3,2,1)]),y=sumvalue, fill=factor(variable,levels=levels(iris1_2$variable)[c(4,3,2,1)])))+

geom_bar(stat='identity',position=position_dodge())+#本来不用reverse是从上到下,反过来

theme1+

geom_text(aes(x=Species,y=sumvalue+20,label=sumvalue, color=factor(variable, levels=levels(iris1_2$variable)[c(4,3,2,1)])),#和fill的一致

position=position_dodge(width=0.9),show.legend = F)+#showlegend 隐藏文字的图例

ggtitle('柱状图')+

scale_fill_discrete(name='图例',#图例项(或者用scale_fill_discrete)

labels=levels(iris1_2$variable)[c(4,3,2,1)])+

#颜色 scale_x_discrete(name='类别',#x轴坐标名称

labels=levels(iris1_2$Species)[c(3,2,1)])+#离散的标签

scale_y_continuous(name='值',#y轴坐标名称

breaks=seq(0,400,50),limits=c(0,400))#连续的标签和坐标轴


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 潜水300近视怎么办 龙目岛浮潜近视怎么办 马代浮潜近视眼怎么办 浮潜被晒伤了怎么办 近视普吉岛浮潜怎么办 潜水眼镜进水怎么办 gta5五星通缉怎么办 gta5网慢怎么办 gta5开车卡怎么办 帽子歪了怎么办 假警察带人走怎么办 娃儿头摔个包怎么办 小娃头摔包要怎么办 交警违规执法怎么办 多肉长肉虫子怎么办 下飞机耳鸣怎么办 热熔胶枪用完了怎么办 钉子冒出来怎么办 狙击枪走火怎么办 双筒望远镜重影怎么办 望远镜重影怎么办 望远镜两个画面怎么办 电表出现err04怎么办 电表err-04怎么办 婴儿转奶拉绿屎怎么办 羽绒服跑毛怎么办 理财逾期怎么办 模型过拟合怎么办 天花板弹珠声怎么办 lspdfr崩溃怎么办 集成块脚发霉怎么办 锂电池保护了怎么办 脚抽筋怎么办 按位取反符号位怎么办 数码管少笔画怎么办 保健砂怎么办粮食 塑料瓶盖拧不紧怎么办 电动车磁阻大怎么办 褥子太潮怎么办 下雨天被子潮怎么办 屋内空气干燥怎么办