R中的ggplot或qplot直方图
ggplot or qplot histogram in R
我知道这几乎是一个基本问题,但我在从包含这些数字 (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")
这给了我一个默认直方图:
我想做一个更美观的直方图,它也将包含一个密度曲线来显示数据的偏度,并用黑色轮廓改变 bin 颜色,有点像这个:
用qplot函数好还是ggplot好?
提前致谢!
这是在 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轴上使用相对频率。
我知道这几乎是一个基本问题,但我在从包含这些数字 (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")
这给了我一个默认直方图:
我想做一个更美观的直方图,它也将包含一个密度曲线来显示数据的偏度,并用黑色轮廓改变 bin 颜色,有点像这个:
用qplot函数好还是ggplot好? 提前致谢!
这是在 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轴上使用相对频率。