Я новичок в 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)
Ответы:
Я подозреваю, что проблема в том, что область 2 маленькой фигуры, созданная вашим
layout()
вызовом, недостаточно велика, чтобы содержать только поля по умолчанию, не говоря уже о графике.Перед строкой, вызывающей проблему, попробуйте:
затем постройте второе изображение
Вам нужно будет поиграть с размером полей на
par()
вызове, который я показываю, чтобы понять это правильно. Вам также может потребоваться увеличить размер фактического устройства, на котором вы строите.Последний совет: сохраните
par()
настройки по умолчанию перед их изменением, поэтому измените существующийpar()
вызов на:затем в конце построения сделайте
источник
png(filename="myfile.png", res=150, width = 1000, height = 1000)
Эта ошибка может возникать в Rstudio просто потому, что ваша панель «Графики» слишком мала. Попробуйте увеличить ваши «Файлы, графики, пакеты, справку, средство просмотра» и посмотрите, поможет ли это!
источник
par(mfrow=c(1,1))
может сбросить вас на одну панель.Если вы получили это сообщение в RStudio, щелкните фигуру «метла» «Очистить все графики» на вкладке «Графики» и снова попробуйте plot ().
источник
graphics.off()
Иногда такое случается в RStudio. Чтобы решить эту проблему, вы можете попытаться построить график во внешнем окне (только для Windows):
источник
Error in plot.new() : figure margins too large
ошибку в RStudio при рисовании OLS-CUSUM, и оно чудесным образом сработало. Большое спасибо jobligado.Я получил эту ошибку в R Studio, и ее просто исправили, увеличив боковую панель, щелкнув и перетащив ее край справа налево.
источник
Проверьте, является ли ваш объект списком или вектором. Для этого наберите
is.list(yourobject)
. Если это правда, попробуйте переименовать егоx<-unlist(yourobject)
. Это превратит его в вектор, который вы можете построить.источник
png()
/dev.off()
в Rstudio).Просто увеличьте эту область, если вы используете RStudio.
источник
Я обнаружил эту ошибку сегодня. Изначально я пытался вывести его в
.jpeg
файл с малой шириной и высотой.Позже я увеличил ширину и высоту до:
Ошибки не было. :)
Вы также можете поиграть с разрешением, если разрешение высокое, вам нужно больше ширины и высоты.
источник
У меня была эта ошибка, когда я пытался построить многомерные данные. Если это то, что с вами происходит, попробуйте многомерное масштабирование: http://www.statmethods.net/advstats/mds.html
источник
Я боролся с этой ошибкой в течение нескольких недель (используя RStudio). Я пытался перемещать окно графика все больше и меньше, но это не всегда помогало. Когда я переместил (перетащил) приложение на свой больший монитор, проблема исчезла! Я был ошеломлен ... столько потраченных впустую часов ... Я знал, что мой код правильный ...
источник
Холст RStudio Plots ограничивает ширину и высоту графика. Однако, если вы сделаете свой график из фрагмента кода Rmarkdown , он будет работать без ограничения поля холста, поскольку область рисования устанавливается в соответствии с размером бумаги.
Например:
источник
Сегодня я обнаружил ту же ошибку. Я попробовал кнопку «Очистить все графики», но у меня возникла та же ошибка. Тогда у меня сработал этот трюк, попробуйте увеличить площадь графика перетаскиванием. Это вам точно поможет.
источник
Я просто использовал Очистить все графики, а затем снова дал команду графика, и это было полезно
источник
Если маржа низкая, всегда лучше начинать с нового плоттера:
Вы никогда не получите маржинальной погрешности, если только вы не нанесете на карту что-то большое, что не может быть размещено.
источник