r语言中,画出了频率分布直方图,怎么在图上添加概率分布曲线

Python020

r语言中,画出了频率分布直方图,怎么在图上添加概率分布曲线,第1张

可以用内置的graphic包来画,就是plot()和curve()

可以用ggplot2来画,后者更灵活.

graphic

# 先生成一组随机数

x <- rnorm(2000)

# 画频率直方图, 分30个bin

hist(x, freq = F, breaks = 30)

# 再画概率分布曲线

lines(density(x, bw=.5), col="red", lwd=2)

2.ggplot2

# 准备工作, 把x设成一个数据集

library(ggplot2)

data <- data.frame(x = x)

# 生成底层和直方图,概率线的图层

p <- ggplot(data, aes(x = x, y = ..density..))

p <- p + geom_histogram(fill = "navy")

p <- p + geom_density(colour = "green")

x<-c("北京","天津","河北","山西","内蒙古","辽宁","吉林","黑龙江","上海","江苏","浙江","安徽","福建","江西","山东","河南","湖北","湖南","广东","广西","海南","重庆","四川","贵州","云南","西藏","陕西","甘肃","青海","宁夏","新疆")

y<-c(58.81,11.16,439.33,284.41,2487.90,557.31,763.87,1962.13,6.81,162.10,601.36,380.42,801.27,1001.81,254.60,39.07,713.86,1011.94,906.13,1342.70,187.77,316.44,1703.74,653.35,1914.19,1471.56,853.24,507.45,406.39,61.80,698.25)

barplot(y,names.arg=x,xlab="省市",ylab="森林面积(万公顷)" )