2015-08-14 10 views
0

Недавно начал использовать grid/gridExtra и пытался понять, как увеличить размер гномов. Не знаю, почему, похоже, на бумаге осталось много недвижимости. Как увеличить размер? Ниже представлен PDF-материал от knitr и rmarkdown.Как увеличить размер grid.arrange (tableGrob, ggplotGrob)

enter image description here

--- 
title: "Untitled" 
output: pdf_document 
classoption: landscape 
--- 


```{r, echo=FALSE} 
library(gridExtra) 
library(ggplot2) 
a <- read.csv(text='"State","Abbreviation", "age" 
"Alabama","AL", "7" 
"Alaska","AK", "8" 
"Arizona","AZ", "3" 
"Arkansas","AR", "4" 
"California","CA", "4"') 

tbla <- tableGrob(a,) 
tblb <- ggplotGrob(ggplot(cars, aes(dist, speed)) + geom_point() + geom_smooth(method=loess)) 
grid.arrange(tbla, tblb) 
``` 
+0

который Grob вы хотите больше, стол, или сюжет? Сама фигура ограничена параметрами knitr fig.width/fig.height, но неясно, какие поля вы хотите уменьшить. – baptiste

+0

Привет, Баптист, я пробовал настраивать параметры knitr fig.width/fig.height, но размер изображения кажется примерно таким же, где край изображения все еще находится очень далеко от края документа. Есть ли способ изменить размер изображения, например, как мы вставляем изображение в MS Powerpoint и увеличиваем его до края слайда powerpoint? Имеет ли это что-либо с точки зрения? – user2103970

+0

Поля в pdf-документе больше связаны с knitr/rmarkdown, но ваш вопрос все еще не очень четко определен. Что именно вы хотите? Цифры, которые касаются края страницы? Таблица, которая простирается столько же, сколько сюжет? Автономная цифра или включена в документ в формате pdf? Я предполагаю, что вы можете настроить поля PDF, передав параметры макета в пакет геометрии через rmarkdown/pandoc. – baptiste

ответ

0

Вы можете установить поля через rmarkdown, используя геометрию пакета

enter image description here

--- 
title: "Untitled" 
output: 
    pdf_document: 
    fig_width: 11 
    fig_height: 7 
    fig_crop: false 
classoption: landscape 
geometry: margin=0in 
--- 


```{r, echo=FALSE} 
library(gridExtra) 
library(grid) 
library(ggplot2) 
a <- read.csv(text='"State","Abbreviation", "age" 
"Alabama","AL", "7" 
"Alaska","AK", "8" 
"Arizona","AZ", "3" 
"Arkansas","AR", "4" 
"California","CA", "4"') 

tbla <- tableGrob(a) 
tblb <- ggplotGrob(ggplot(cars, aes(dist, speed)) + geom_point() + geom_smooth(method=loess)) 
grid.arrange(tbla, tblb, heights=unit.c(sum(tbla$heights), unit(1,"null"))) 
``` 
+0

Это сработало! Мне нужно немного посмотреть в пакет геометрии. Спасибо за совет. – user2103970

+0

BTW ... geometry: margin = 0in работает на левом и правом краю, есть верхний и нижний край? Кроме того, есть ли способ увеличить таблицу также до того же размера, что и диаграмма внизу? – user2103970

+0

вы можете явно установить ширину 'tbla <- tableGrob (a, widths = unit (rep (1/ncol (a), ncol (a))," npc ") - unit (1," line ")) ' – baptiste

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