2015-12-01 3 views
0

Мы имеем:вопросы диаграммы Polygon (R)

date   mark_cum 
1 2015-07-23 0.0000000 
2 2015-07-23 0.5000000 
3 2015-07-23 0.6666667 
4 2015-07-24 0.6666667 
5 2015-07-27 0.7500000 
6 2015-07-27 0.8000000 

summary(data.ru) 
date       
Min. :2015-07-23 00:00:00  
1st Qu.:2015-08-24 18:00:00 
Median :2015-09-21 00:00:00  
Mean :2015-09-23 16:21:00 
3rd Qu.:2015-10-27 06:00:00  
Max. :2015-11-25 00:00:00 

mark_cum 
Min. :0.0000 
1st Qu.:0.7607 
Median :0.7755 
Mean :0.7782 
3rd Qu.:0.8090 
Max. :0.8750 

Идея заключается в том, чтобы построить полигон следующего стиля: enter image description here

Таким образом, мы выполняем следующую процедуру:

hi.res.date <- approx(data.ru$date, data.ru$mark_cum, n=2000)$x 
hi.res.mark <- approx(data.ru$date, data.ru$mark_cum, n=2000)$y 
net.plus <- hi.res.mark; net.plus[net.plus<0.75] <- 0.75 
net.minus <- hi.res.mark; net.minus[net.minus>0.75] <- 0.75 
plot(data.ru3$data,rep(NA,160),type="l",ylim=c(0.75,1)) 

enter image description here

polygon(c(hi.res.date,rev(hi.res.date)),c(net.plus, rep(0,160)),col="green",border=NA) 

И мы получаем случайный беспорядок, где многоугольник не учитывает 0,75 пограничную линию, написанную для net.plus и net.minus объектов. Что здесь не так?

enter image description here P.S. Данные были преобразованы через lubridate в R-читаемый формат.

ответ

0

Проблема была с этой линией:

polygon(c(hi.res.date,rev(hi.res.date)),c(net.plus, rep(0,160)),col="green",border=NA) 

rep(0,160) должно было быть установлено в rep(0.75,160) вместо этого. И мы получаем:

enter image description here

Смежные вопросы