全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
7950 12
2016-10-17

数da据如下:

周次         项目1     项目2        项目3       项目4
第1周       48         82            4            1
第2周       25        131            1           11
第3周       34        134            0          112
第4周       55        180            0           53

希望用ggplt()做成:x轴是周次,y轴堆积项目的堆积折线图。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-10-19 13:07:57
使用ggplot2很容易做,将数据整理为csv文件:

weekprojectnumber
firstp1

48

secondp1

25

thirdp1

34

fourthp1

55

firstp2

82

secondp2

131

thirdp2

134

fourthp2

180

firstp3

4

secondp3

1

thirdp3

0

fourthp3

0

firstP4

1

secondP4

11

thirdP4

112

fourthP4

53

library(ggplot2)                                                      
data<- read.csv("data.csv",head=T)
p<- ggplot(data,aes(x=week,y=number,fill=project))
p+geom_bar(stat="identity",position = "stack")    #position可设置为stack,dodge,fill等,分别为堆叠、并列和填充。 da.png


不知道是不是楼主要的样子
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-19 13:23:09
不好意思看错,是堆积折线图,我理解的堆积折线图就是每周所有项目的总和,如果理解有误,可以改下代码。数据与上。library(ggplot2)
data<- read.csv("data.csv",head=T)
first<-sum(subset(data,week=="first",select="number"))
second<-sum(subset(data,week=="second",select="number"))
third<-sum(subset(data,week=="third",select="number"))
fourth<- sum(subset(data,week=="fourth",select="number"))
total<- data.frame(week=unique(data$week),project="sum",number=c(first,second,third,fourth))
data2<- rbind(data,total)
ggplot(data2,aes(x=week,y=number))+geom_line(aes(group=project,colour=project))+geom_point(aes(colour=project))
Rplot.png
不知道是不是你想要的?
附件列表
22.png

原图尺寸 7.4 KB

22.png

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-19 15:58:24
ggplot()+geom_area(aes(x=date,y=value,fill=variable),data=economics_long)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-19 16:01:10
qiu435 发表于 2016-10-19 13:23
不好意思看错,是堆积折线图,我理解的堆积折线图就是每周所有项目的总和,如果理解有误,可以改下代 ...
这位兄弟,正好问你个问题。
我如果数据是来自几个不同列。比如 P1,P2,P3,P4列,而不是用一个project列去区分。用ggplot如果做stacked bar chart?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-19 16:28:46
jameschin007 发表于 2016-10-19 16:01
这位兄弟,正好问你个问题。
我如果数据是来自几个不同列。比如 P1,P2,P3,P4列,而不是用一个project列 ...
这个应该是不行的,ggplot2只能用数据框,每一列为一个变量,离散性变量转换为因子,实际上project是一个因子(SPSS里叫做分组变量),P1:P4是该因子的水平,用于指定geom_line()里的group参数。
如果按照你的想法或楼主给的数据格式,无法指定group
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群