#r #plot
#r #график
Вопрос:
Я хотел бы отобразить результаты квантильной регрессии, но не могу:
- управляйте размерами графиков и
- сохраните графики в формате png.
Вот мой код:
require(quantreg)
data(engel)
attach(engel)
xx <- income - mean(income)
zz <- c(120, diff(income))
fit1 <- summary(rq(foodexp~xx zz, tau=2:98/100))
Затем:
png('res.png')
plot(fit1, mfrow=c(1,2))
В файле res.png сохраняется только график zz.. Есть ли какой-либо способ сохранить графики в отдельных файлах (два и один)?
и как мне контролировать ширину / высоту графиков? Мне нравится, чтобы все отдельные графики имели ширину = высоту (квадрат), когда я сохраняю их в файле .png?
Комментарии:
1. Почему понижение? Это кажется разумным вопросом новичка…
2. Я изменил заголовок, чтобы отразить реальный вопрос. Это должно помочь в будущем поиске по этой теме.
3. Возможно, хотя, похоже, что это, по крайней мере, такой же вопрос о манипулировании выводом
plot.summary.rqs
, как и об изменении размера графиков PNG в целом ….
Ответ №1:
Вы можете управлять размерами изображения с помощью png
аргумента.
png("image.png", width = 800, height = 600)
plot(...)
dev.off()
Чтобы «закончить» изображение, используйте dev.off
.
Ответ №2:
Для разделения графиков:
plot(fit1,parm=1:2)
plot(fit1,parm=3)
Обратите внимание, что вы могли бы найти ответ, внимательно прочитав ?plot.summary.rqs
, но это, возможно, было неочевидно: чтобы знать, где искать, вам нужно было бы сделать class(fit1)
, чтобы выяснить, какой plot
метод использовался.
Ответ Романа учитывает размер изображения.
Комментарии:
1. спасибо. Пытаюсь использовать layout (matrix (c (1,2,3,0), 2, 2, byrow = TRUE)), а затем plot (fit1, parm = 1), plot (fit1, parm = 1), plot (fit1, parm = 2) и plot (fit1, parm = 3), но у меня не работает. Кроме того, есть ли способ сделать последний график «центрированным»?
2. Ваша проблема в том, что
plot.summary.rqs
внутреннее использованиеpar(mfrow=...)
, с которым не очень хорошо сочетаетсяlayout
. Чего вы хотите достичь? Вы можете приблизиться кplot(fit1,mfrow=c(2,2))
, но если вы хотите получить эффектlayout(mat=matrix(c(1,1,2,2,0,3,3,0),byrow=TRUE,nrow=2)); layout.show(3)
, это будет сложнее… Хотя мне обычно нравится делать как можно больше в R, возможно, будет проще выводить графики отдельно, а затем упорядочивать их в любом конечном формате презентации (HTML, Word, LaTeX, что угодно …)