2016-03-30 5 views
2

У меня есть файл csv с 10 столбцами и вы хотите прочитать и построить 7 из них вместе с временными рядами текстовых файлов. Со следующим кодом я могу их нарисовать, но перед несколькими вопросами:Панельный участок с r

1] пустое пространство между сюжетами делает каждый сюжет очень маленьким. Как использовать большую часть пространства? 2] Легенда оверлейна 7-м сюжету. Как поместить его на панель площадь участка 8 и 9 (так как не используется панель областей участка 8 и 9)

3] Как сделать общий оси х и у, и определить отдельные названия каждой панели участка

library(qmap) 
obs <- read.table("D:/test.txt") 
mod <- read.csv("D:/pr.csv", header = FALSE) 
par(mfrow=c(3,3), oma = c(4, 1, 1, 1)) 
for(i in 4:10){ 
modp <- mod[,i] 
qm1.fit <- fitQmap(obs,modp, 
       method="PTF", 
       transfun="expasympt", 
       cost="RSS",wett.day=TRUE) 
qm1 <- doQmap(modprecip,qm1.fit) 

# repeated same procedure for qm2, qm3, qm4, and qm5 

# QQ-plot of all mappings 
obs_v <- as.vector(as.matrix(obs)) 
mod_v <- as.vector(as.matrix(modp)) 
qqplot(mod_v, obs_v, col = 1, xlab = 'Pm [mm/day]', ylab = 'Po [mm/day]') 
qqline(qm1, col = 2, lwd = 2) 
qqline(qm2, col = 3, lwd = 2) 
qqline(qm3, col = 4, lwd = 2) 
qqline(qm5, col = 5, lwd = 2) 

} 

legend("bottom", inset=c(-0.2,0), legend=c("A","B"), pch=c(1,3), title="Group") 

Любая помощь будет высоко оценил

enter image description here

+0

Нет данных или цифр результата. Что мы должны делать? –

+0

@ RomanLuštrik добавил цифру – Ibe

+0

Это можно легко решить, используя ['ggplot2 :: facet_wrap'] (http://docs.ggplot2.org/current/facet_wrap.html). –

ответ

2

Этот вид участков может очень легко быть получены с использованием ggplot2. Я покажу следующий пример из документации ggplot2, как ваш вопрос не содержит воспроизводимый пример:

library(ggplot2) 
d <- ggplot(diamonds, aes(carat, price, fill = ..density..)) + 
    xlim(0, 2) + stat_binhex(na.rm = TRUE) + theme(aspect.ratio = 1) 
d + facet_wrap(~ color) 

enter image description here

ggplot2 адреса ваши вопросы:

  1. Пробелы чем дольше нет вопрос.
  2. легенда хорошо помещена в сторону.
  3. по умолчанию оси х и у являются одинаковыми (вы можете отключить это в случае необходимости)

Также см this tutorial я писал о ggplot2, если вы хотите получить до скорости с тем, как ggplot2 работ.

+0

поэтому мне нужно написать фрейм данных как выход цикла for и использовать его в ggplot2, правильно? – Ibe

+0

Правильно, хотя я бы сам использовал цикл «apply» style (например, 'lapply'). См. Также [эта ссылка] (http://stcorp.nl/R_course/tutorial_control_flow.html). –

+0

'lapply' очень быстро, чтобы предоставить кадр данных, но как я могу использовать каждый столбец в этом кадре данных по одному и обрабатывать его вместе с отдельным временным рядом. Маленькая борьба ... – Ibe

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