Расположить несколько участков в одну сетку - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь упорядочить 49 графиков в сетке 7x7, но графики не будут правильно отображаться, используя qplot.

a <- c(0.1,0.5,1,2,5,10,100)
b <- c(0.1,0.5,1,2,5,10,100)
for(m in 1:7)
{
  for(n in 1:7)
  {
    #Q4. Assigning variables for moving averages
    assign(paste("ma_a",m,"b",n,sep=""),c())
    for(i in 1:1000)
    {
      .GlobalEnv[[paste("ma_a",m,"b",n,sep="")]] <- c(.GlobalEnv[[paste("ma_a",m,"b",n,sep="")]],mean(rgamma(i,a[m],b[n])))
    }

    #Plotting moving averages
    plot(1:1000,.GlobalEnv[[paste("ma_a",m,"b",n,sep="")]]
         ,type="l"
         ,xlab="X"
         ,main=paste("Moving Average at","Shape=",a[m],"Scale=",b[n])
         ,ylab="Average"
    )
  }
}

. Когда это происходит, графики работают корректно, но после попытки упорядочить их в Я понял, что для работы grid.arrange() мне пришлось использовать qplot(). В нем говорится, что я не могу использовать числовой вектор, поэтому я попытался использовать фрейм данных с 2 столбцами, сначала 1: 1000, а 2-е - скользящее среднее, но это все равно не будет отображаться правильно, а просто отобразит серую рамку, покрывающую весь график. .

1 Ответ

1 голос
/ 30 марта 2020

Поскольку вы не используете сетевую графическую систему, вы можете использовать par() для упорядочивания фигур.
Проверьте, работает ли это:

a <- c(0.1,0.5,1,2,5,10,100)
b <- c(0.1,0.5,1,2,5,10,100)

par(mfrow=c(7,7), mar=c(2,2,2,0))

for(m in 1:7)
{
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...