R:具有绝对值的堆积面积图

时间:2011-05-26 08:21:11

标签: r plot ggplot2

在R中是否有任何方法可以进行堆积区域绘制,其中结果不是比例而是绝对值,即切片不应该加1,而应该代表每个因子的实际值?

3 个答案:

答案 0 :(得分:2)

使用ggplot的示例:

library(ggplot2)
library(reshape2)

dat <- data.frame(
    x = LETTERS[1:3],
    series1 = 1:3,
    series2 = 4:6)

ggplot(melt(dat), aes(x=x, y=value, fill=variable, group=variable)) + geom_area()

enter image description here

答案 1 :(得分:0)

使用基本图形,您可以使用apply和cumsum来获得点的高度,如果您只想要没有填充区域的线条,则可以使用matplot函数。如果你想要填充区域然后你可以创建类型='n'(或只使用最后一组坐标)的初始图,使用循环(显式循环,或应用)和多边形函数添加多边形。您可以从顶点开始并绘制从0到点的多边形,然后让多边形覆盖早期多边形的底部,或者可以在相邻点集之间绘制多边形。

一旦你完成了这个,你可以将代码包装成一个函数,并使未来的绘图更快。

答案 2 :(得分:0)

  • 如果要绘制比例,请使用geom_area(position="fill")
  • 如果要绘制绝对值,请使用geom_area(position="stack")geom_area()也将默认设置为此。