这是给 R 用户的问题。我有兴趣绘制一个点堆叠的直方图,而不是条形图。例如如果数据是(1,1,2,1,2,3,3,3,4,4),那么我希望看到三个点在 1 处堆叠,2 个点在 2 处堆叠等等. 在 R 中执行此操作的最佳方法是什么?
问问题
9391 次
4 回答
6
我知道的最简单的答案是:
x <- c(1,1,2,1,2,3,3,3,4,4)
stripchart(x,method="stack",at=0)
这比 Jonathan Chang 的建议要好,因为stripchart
它可以正确堆叠积分。
于 2009-12-20T09:04:59.153 回答
6
你可以自己很快地做到这一点:
x <- c(1,1,2,1,2,3,3,3,4,4)
plot(sort(x), sequence(table(x)))
于 2009-12-20T05:40:36.760 回答
5
于 2009-12-20T04:44:37.830 回答
2
另一种简单的方法是:
x <- c(1,1,2,1,2,3,3,3,4,4)
myhist <- hist(x)
myhistX <- myhist$mids
myhistY <- myhist$density
现在你可以用任何你喜欢的方式来绘制它:
plot(myhistY~myhistX)
这样,您可以在构建“直方图”对象时更改堆叠选项。
于 2012-12-25T13:14:08.500 回答