直方图和密度图差不多,都可以用于统计数据的分布,下载用R中ggplot2绘制直方图。
rm(list=ls())
options(stringsAsFactors = F)#清除环境变量
a=rnorm(10000) #随机生成正态分布数据,当然你可以设置mean和sd
a=as.data.frame(a)
library(ggplot2)#加载包
x=ggplot()+geom_histogram(data = a,aes(x=a),stat = 'bin',bins = 200,fill='darkgreen',color='gray')+
theme_bw()+
theme(axis.title = element_blank())
#bins,直接设定直方柱的个数
#binwidth,设定直方柱的跨度从而决定直方图个数,与bins当然是互斥的
数据如下,所有数据在一列
结果如下,标准正态分布
我们还可以加一个累加图
y=ggplot(data=a,aes(x=a))+stat_ecdf(color = "red")+
theme_bw()+
theme(axis.title = element_blank())+
theme(plot.background = element_rect(fill='transparent',color='transparent'),
axis.text.x = element_blank(),axis.ticks.x = element_blank())+
scale_y_continuous(breaks = c(0,0.5,1),labels = c('1.0','0.5','1.0'))
library(cowplot)
z=ggdraw() +
draw_plot(x) +
draw_plot(y,x=0.05,y=0.68,width = 0.2,height = 0.3)#设置图形融合所在的位置
ggsave(z,filename = '1.pdf',width = 10,height = 6)
累加图和直方图,密度图看的都差不多。