用点代替条形图直方图

时间:2009-12-20 03:30:44

标签: r plot histogram

以下是R用户的问题。我有兴趣绘制一个叠加了点的直方图,而不是条形图。例如,如果数据是(1,1,2,1,2,3,3,3,4,4),那么我希望看到三个点叠加在1,2点,堆叠在2,依此类推。 R中最好的方法是什么?

4 个答案:

答案 0 :(得分:5)

Greg Snow的TeachingDemos软件包包含dots(x, ...)功能,似乎符合您的需求:

dots( round( rnorm(50, 10,3) ) )

enter image description here

答案 1 :(得分:5)

你可以很快自己做到这一点:

x <- c(1,1,2,1,2,3,3,3,4,4)
plot(sort(x), sequence(table(x)))

答案 2 :(得分:5)

我知道的最简单的答案是:

x <- c(1,1,2,1,2,3,3,3,4,4)
stripchart(x,method="stack",at=0)

这比Jonathan Chang的建议更好,因为stripchart正确堆叠点。

答案 3 :(得分: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)

这样,您可以在构建“直方图”对象时更改堆叠选项。