您的位置:首页 > 其它

在直方图上添加线与图例

2016-05-05 14:44 423 查看
  在R语言中,使用高级函数画出基本图形之后,可以使用低级绘图函数添加新的图形元素,如点、图例、标签等。低级绘图函数如图(1)所示。


图(1) 低级绘图函数

  数据源:online shop.txt 

period  amount
2008    1281.8
2009    2630.0
2010    4610.0
2011    7846.5
2012    13040.0
2013    18500.0
2014    24500.0
2015    30200.0
2016    36000.0


  1.简单的直方图

  //hist.R  

##读取数据
dat <- read.table("G:/myProject/RDoc/Unit2/rChap6/online shopping.txt",head=T)
attach(dat)
##随机生成1000个正态分布的随机数
x <- rnorm(1000)
x <- x[x<0]
##x1 = 1,2,3,4,5
## rnorm(5,0,1)表示从 正态分布N(0,1)随机抽取5个数
## rgamma(5,2,3)表示从 伽马分布G(2,3)随机抽取5个数
y <- data.frame(x1=1:5,x2=rnorm(5,0,1), x3=rgamma(5,2,3))
## 1.简单的直方图
hist(x,xlim = range(x),main="hist of x",freq = F,nclass = 30,density = 20,angle = 45)


  

  简单的直方图,如图(2)所示。


图(2) 简单的直方图

  2.带有线和图的直方图

  //hist2.R

##读取数据
dat <- read.table("G:/myProject/RDoc/Unit2/rChap6/online shopping.txt",head=T)
attach(dat)
##随机生成1000个正态分布的随机数
x <- rnorm(1000)
x <- x[x<0]
##x1 = 1,2,3,4,5
## rnorm(5,0,1)表示从 正态分布N(0,1)随机抽取5个数
## rgamma(5,2,3)表示从 伽马分布G(2,3)随机抽取5个数
y <- data.frame(x1=1:5,x2=rnorm(5,0,1), x3=rgamma(5,2,3))
## 1.简单的直方图
#hist(x,xlim = range(x),main="hist of x",freq = F,nclass = 30,density = 20,angle = 45)

## 2.带有线和图例的直方图
hist(x,xlim = range(x),main="hist of x",freq = F,nclass = 30,density = 20,angle = 45)
lines(density(x),col="blue")
lines(-3:0,dnorm(-3:0,mean(x),sd(x)),col="red")
legend(-3,1,pch=c(15,-1,-1),lty=c(-1,1,1),col=c("gray","blue","red"),
legend = c("histogram","density line", "normal density line"))


  带有线和图例的直方图,如图(3)所示。

  


图(3) 带有线和图例的直方图
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数 r语言 直方图