在geom_freqpoly线下填充区域的最简单方法是什么?

mat*_*epl 9 r ggplot2

x轴是时间间隔的时间.数据框中有一个间隔列,用于指定每行的时间.该列是一个因子,其中每个区间是不同的因子级别.

使用geom_histogram和geom_freqpoly绘制直方图或直线效果很好,但是我希望有一条线,就像geom_freqpoly提供的那样,填充区域.

目前我正在使用geom_freqpoly,如下所示:

ggplot(quake.data, aes(interval, fill=tweet.type)) + geom_freqpoly(aes(group = tweet.type, colour = tweet.type)) + opts(axis.text.x=theme_text(angle=-60, hjust=0, size = 6))
Run Code Online (Sandbox Code Playgroud)

地块

我宁愿有一个填充区域,例如提供的geom_density,但没有平滑线:

smoooth

geom_area已经提出,有没有办法使用GGPLOT2生成的统计数据,如..count ..,对于geom_area的y值?或者,计数聚合是否需要在使用ggplot2之前进行?


如答案中所述,geom_area(...,stat ="bin")是解决方案:

ggplot(quake.data, aes(interval)) + geom_area(aes(y = ..count.., fill = tweet.type, group = tweet.type), stat = "bin") + opts(axis.text.x=theme_text(angle=-60, hjust=0, size = 6))
Run Code Online (Sandbox Code Playgroud)

生产:

期望

had*_*ley 15

也许你想要:

geom_area(aes(y = ..count..), stat = "bin")
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,我之前使用过'stat ="bin"'但忘了它.我需要买你的书.=) (5认同)