R语言-ggplot2柱状堆叠图
来源:互联网 发布:Windows支持的文件系统 编辑:程序博客网 时间:2024/05/21 10:21
###导入数据
load("D:\\R\\futures_user_2.dat")
####提取需要画图的数据
a=futures_user_2[,c(1,2,5)]
####对部分错误的数据进行修改
a$province[which(a$province=="广西桂林")]<-"广西"
######去除空置和null
b=a[-which(is.na(a$province)),]
unique(b$province)
c=b[-which(b$province=="null"),]
unique(c$province)
head(c)
####如果有==0的,需要剔除
d=c[-which(c$avg_return_rate==0),]
#####进行分类
c$class=ifelse(c$avg_return_rate>0,"盈利","亏损")
######用tapply进行分组计算
d=tapply(c$id,list(c$province,c$class),length)
d=as.data.frame(d)
###提取省份名称(tapply无法选取分类组的名称,没找到原因)
e=unique(c$province)
f=e[order(e)]
d$省份=f
####将空值赋值为0
d$亏损[which(is.na(d$亏损))]<-0
d$盈利[which(is.na(d$盈利))]<-0
d
######排序
g=d[order(d$盈利,decreasing = TRUE),]
#####提取
aa=g[,c(3,2)]
aa$盈亏<-rep("盈利",times=length(aa$省份))
names(aa)<-c("省份","人数","盈亏")
head(aa)
bb=g[,c(3,1)]
bb$盈亏<-rep("亏损",times=length(bb$省份))
names(bb)<-c("省份","人数","盈亏")
head(bb)
cc<-rbind(aa,bb)
cc$盈亏=factor(cc$盈亏,levels=c("盈利","亏损"))
cc=cc[order(cc$人数,decreasing = TRUE),]
####定义顺序
order=g$省份
cc$省份<-factor(cc$省份,levels=order)
###画图
p1=ggplot(cc,aes(省份,weight=人数,fill=盈亏))+geom_bar(position="stack")+labs(title="各省份盈亏人数分布",y="人数")+theme(plot.title = element_text(size=20,face = "bold"),axis.text.y=element_text(size=15),axis.text.x=element_text(size=10),axis.title.y=element_text(size=15,face="bold"),axis.title.x=element_text(size=15,face="bold"))
p1
####保存
ggsave(p1, file="D:\\R\\各省份盈亏人数分布.jpg", width=15, height=8)
#####上图
0 0
- R语言-ggplot2柱状堆叠图
- R语言ggplot2条形图详解
- R语言ggplot2画图
- R语言ggplot2饼状图
- R语言GGPlot2
- [置顶]R语言 ggplot2包
- R语言 绘图 (ggplot2)
- R ggplot2 做图
- R -ggplot2 气泡图
- R ggplot2条形图
- R ggplot2线性图
- R语言ggplot2包之画折线图
- R ggplot2画饼状图
- R ggplot2画线形图
- R语言之ggplot2绘图序列一
- R语言之ggplot2画图篇
- R语言之ggplot2画图篇
- R语言ggplot2包之画直方图
- HTML的理解
- Mongodb-面向使用学习-基本操作-(增与查)
- Java抽象类与接口区别
- 汇编实现排序——简单选择排序
- Activity启动模式
- R语言-ggplot2柱状堆叠图
- 一道关于字符串截取的面试题
- Java 学习经验总结
- Java 正则表达式详解
- 人工蜂群算法性能比较
- Mongodb-面向使用学习-基本操作-(改与删)
- Calculation
- [翻译]AKKA笔记 - DEATHWATCH -7
- 《数据结构》创建二叉树