在 R 中获取堆积面积图 [英] Getting a stacked area plot in R
问题描述
这个问题是之前问题我问过.
This question is a continuation of the previous question I asked.
现在我有一个案例,其中还有一个带有 Prop 的类别列.所以,数据集变得像
Now I have a case where there is also a category column with Prop. So, the dataset becomes like
Hour Category Prop2
00 A 25
00 B 59
00 A 55
00 C 5
00 B 50
...
01 C 56
01 B 45
01 A 56
01 B 35
...
23 D 58
23 A 52
23 B 50
23 B 35
23 B 15
在这种情况下,我需要在 R 中绘制一个堆积面积图,其中包含每天这些不同类别的百分比.所以,结果会是这样.
In this case I need to make a stacked area plot in R with the percentages of these different categories for each day. So, the result will be like.
A B C D
00 20% 30% 35% 15%
01 25% 10% 40% 25%
02 20% 40% 10% 30%
.
.
.
20
21
22 25% 10% 30% 35%
23 35% 20% 20% 25%
所以现在我将获得每小时每个类别的份额,然后绘制这是一个堆积区域图,其中 x 轴是小时,y 轴是不同类别给出的每个类别的 Prop2 百分比颜色
So now I would get the share of each Category in each hour and then plot this is a stacked area plot like this where the x-axis is the hour and y-axis the percentage of Prop2 for each category given by the different colours
推荐答案
您可以使用 Hadley Wickham 的 ggplot2
包.
You can use the ggplot2
package from Hadley Wickham for that.
R> library(ggplot2)
示例数据集:
R> d <- data.frame(t=rep(0:23,each=4),var=rep(LETTERS[1:4],4),val=round(runif(4*24,0,50)))
R> head(d,10)
t var val
1 0 A 1
2 0 B 45
3 0 C 6
4 0 D 14
5 1 A 35
6 1 B 21
7 1 C 13
8 1 D 22
9 2 A 20
10 2 B 44
然后你可以使用 ggplot
和 geom_area
:
And then you can use ggplot
with geom_area
:
R> ggplot(d, aes(x=t,y=val,group=var,fill=var)) + geom_area(position="fill")
这篇关于在 R 中获取堆积面积图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!