R中的ggplot或qplot直方图

时间:2015-02-12 11:40:34

标签: r histogram ggplot2

我知道这几乎是一个基本问题,但我在从包含这些数字(dat)的单个向量绘制直方图时遇到一些麻烦:

30.90 31.00 32.75 32.65 32.50 31.60 31.80 30.70 31.20 28.10 29.50 28.60 31.70 33.10

qplot是直截了当的:

qplot(PorData,  binwidth=1.0, geo="histogram", xlab="Data", ylab="Frequency") 

这给了我一个默认的直方图: enter image description here

我希望做一些更美观的直方图,它还包含一个密度曲线,显示数据的偏斜度,并用黑色轮廓更改bin颜色,有点像这样: enter image description here

使用qplot函数还是ggplot会更好吗? 提前谢谢!

1 个答案:

答案 0 :(得分:3)

这是一种在ggplot2中创建直方图和密度曲线的方法。

数据:

dat <- scan(textConnection("30.90 31.00 32.75 32.65 32.50 31.60 31.80 30.70 31.20 28.10 29.50 28.60 31.70 33.10"))

情节:

library(ggplot2)
qplot(dat,  binwidth = 1.0, geom = "histogram", xlab = "Data", ylab = "Frequency",
      y = ..density.., fill = I("white"), colour = I("black")) +
  stat_density(geom = "line")

此处,y = ..density..用于使用y轴上的相对频率。

enter image description here