Ошибка в plot.new (): слишком большие поля в R

Я новичок в R, но я сделал множество графиков корреляции с меньшими наборами данных. Тем не менее, когда я пытаюсь построить большой набор данных (2 ГБ +), я могу создать график очень хорошо, но легенда не появляется. Любой совет? или альтернативы?

library(gplots)
r.cor <- cor(r)
layout(matrix(c(1,1,1,1,1,1,1,1,2,2), 5, 2, byrow = TRUE))
par(oma=c(5,7,1,1))
cx <- rev(colorpanel(25,"yellow","black","blue"))
leg <- seq(min(r.cor,na.rm=T),max(r.cor,na.rm=T),length=10)
image(r.cor,main="Correlation plot Normal/Tumor data",axes=F,col=cx)
axis(1, at=seq(0,1,length=ncol(r.cor)), labels=dimnames(r.cor)[[2]], 
    cex.axis=0.9,las=2)
axis(2,at=seq(0,1,length=ncol(r.cor)), labels=dimnames(r.cor)[[2]],
     cex.axis=0.9,las=2)
image(as.matrix(leg),col=cx,axes=T)     
  

Ошибка в plot.new(): слишком большие поля рисунка

tmp <- round(leg,2)
axis(1,at=seq(0,1,length=length(leg)), labels=tmp,cex.axis=1)
98 голосов | спросил Steve Hwang 7 +04002012-10-07T08:37:30+04:00312012bEurope/MoscowSun, 07 Oct 2012 08:37:30 +0400 2012, 08:37:30

11 ответов


0

Я подозреваю, что проблема в том, что небольшая фигурная область 2, созданная вашим вызовом layout(), недостаточно велика, чтобы содержать только значение по умолчанию поля, не говоря уже о сюжете.

Перед строкой, вызывающей проблему, попробуйте:

par(mar = rep(2, 4))

затем нанесите второе изображение

image(as.matrix(leg),col=cx,axes=T)

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

В заключение, перед изменением сохраните значения по умолчанию par(), поэтому измените свой существующий par() позвонить по адресу:

op <- par(oma=c(5,7,1,1))

затем в конце построения делайте

par(op)
ответил Gavin Simpson 7 +04002012-10-07T12:38:16+04:00312012bEurope/MoscowSun, 07 Oct 2012 12:38:16 +0400 2012, 12:38:16
0

Эта ошибка может возникать в Rstudio просто потому, что ваша панель «Графики» просто слишком мала. Попробуйте увеличить ваши «Файлы, Сюжеты, Пакеты, Справка, Средство просмотра» и посмотрите, поможет ли это!

ответил Steve Pitchers 5 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 05 Sep 2014 22:46:43 +0400 2014, 22:46:43
0

Если вы получили это сообщение в RStudio, нажмите на метку "Очистить все графики" на вкладке "Графики" и снова попытайтесь нанести plot ().

 введите описание изображения здесь

ответил Justas 26 AM00000030000004031 2015, 03:28:40
0

Я получил эту ошибку в R Studio, и ее просто исправили, увеличив боковую панель, щелкая и перетаскивая ее край справа налево.

ответил Janac Meena 25 32015vEurope/Moscow11bEurope/MoscowWed, 25 Nov 2015 20:55:52 +0300 2015, 20:55:52
0

Это иногда случается в RStudio. Чтобы решить эту проблему, вы можете попытаться построить внешнее окно (только для Windows):

windows() ## create window to plot your file
## ... your plotting code here ...
dev.off() 
ответил jobligado 18 MarpmFri, 18 Mar 2016 20:55:13 +03002016-03-18T20:55:13+03:0008 2016, 20:55:13
0

Проверьте, является ли ваш объект списком или вектором. Для этого введите is.list(yourobject). Если это правда, попробуйте переименовать его x<-unlist(yourobject). Это превратит его в вектор, который вы можете построить.

ответил Gina-Maria 12 J0000006Europe/Moscow 2013, 23:50:29
0

 введите описание изображения здесь

Просто увеличьте эту область, если вы используете RStudio.

ответил vkalit 27 PMpWed, 27 Apr 2016 20:42:17 +030042Wednesday 2016, 20:42:17
0

У меня была эта ошибка, когда я пытался построить высокоразмерные данные. Если это то, что происходит с вами, попробуйте многомерное масштабирование: http://www.statmethods.net/advstats /mds.html

ответил Olga Mu 20 J0000006Europe/Moscow 2013, 21:34:32
0

Я боролся с этой ошибкой в ​​течение нескольких недель (используя RStudio). Я пытался перемещать окно графика все больше и меньше, но это не помогло. Когда я переместил (перетащил) приложение на мой больший монитор, проблема исчезла! Я был ошеломлен ... так много потраченных часов ... я знал, что мой код был правильным ...

ответил Liz 2 Mayam16 2016, 00:32:41
0

RStudio Plots canvas ограничивает ширину и высоту графика. Однако если вы строите свой график из фрагмента кода Rmarkdown , он работает без ограничения поля холста, поскольку область печати устанавливается в соответствии с размером бумаги.

Например:

    ```{r}
#inside of code chunk in Rmarkdown
        grid <- par(mfrow=c(4, 5))
        plot(faithful, main="Faithful eruptions")
        plot(large.islands, main="Islands", ylab="Area")
        ...
        par(grid)
    ```
ответил Suat Atan PhD 29 Jam1000000amFri, 29 Jan 2016 07:15:54 +030016 2016, 07:15:54
0

Я нашел эту ошибку сегодня. Сначала я пытался вывести его в файл .jpeg с низкой шириной и высотой.

jpeg("method1_test.jpg", width=900, height=900, res=40)

Позже я увеличил ширину и высоту до:

jpeg("method1_test.jpg", width=1900, height=1900, res=40)

Ошибка не была там. :)

Вы также можете играть с разрешением, если разрешение высокое, вам нужно больше ширины и высоты.

ответил jaikamal 16 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 16 Sep 2016 13:41:32 +0300 2016, 13:41:32

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132