Изменение масштаба графика или таблицы при создании точки силы - PullRequest
0 голосов
/ 19 марта 2020

Я буду sh, чтобы иметь возможность выбирать размеры графиков, которые я вставляю в свою PowerPoint, когда я их генерирую. Я понимаю, что могу просто сохранить их как отдельный файл, а затем вставить их. Но я бы предпочел иметь возможность манипулировать ими, пока я вставляю их в слайд-колоду при создании. Будет ли это изменением размеров графика перед вставкой или изменением размеров ограничивающего прямоугольника слайда.

Я уже провел некоторое тестирование:

"use_loc_size = F" в ph_with, кажется, работает только с изображениями, насколько я могу судить из проведенного мной тестирования.

Изменение качества пикселей несколько меняет масштаб, но метки и графики, кажется, меняются совсем по-разному, если я к этому прикасаюсь (метки становятся тем больше, чем больше число пикселей, в то время как график становится меньше, и наоборот, когда Я уменьшаю количество пикселей)

Пример кода:

library(flextable)
library(rvg)
library(officer)
library(ggplot2)

path_out <- "."

# prep ggplot
p1 <- iris %>% 
  ggplot() +
  geom_point(aes(Sepal.Length,Petal.Length,color = Species), size = 3) +
  theme_minimal()

# prep editable graph (rvg)
p2 <- dml(ggobj = p1)

my_pres <- read_pptx() %>%
  #slide 1
  add_slide(layout = "Title and Content", master = "Office Theme") %>%
  ph_with(value = p1, location = ph_location_type("body", width = 2, height = 13)) %>%
  #slide 2
  add_slide() %>%
  ph_with(value = p2, location = ph_location_type("body"), width = 6, height = 6) %>%
  print(target = file.path(path_out,"example_v1.pptx"))

1 Ответ

0 голосов
/ 21 марта 2020

Если вы хотите определить размер из R без использования свойств заполнителя, вы можете использовать ph_location и указать ширину, высоту и верхнюю левую позицию:

library(flextable)
library(rvg)
library(officer)
library(ggplot2)
library(magrittr)

path_out <- "."

# prep ggplot
p1 <- iris %>% 
  ggplot() +
  geom_point(aes(Sepal.Length,Petal.Length,color = Species), size = 3) +
  theme_minimal()

# prep editable graph (rvg)
p2 <- dml(ggobj = p1)

my_pres <- read_pptx() %>%
  #slide 1
  add_slide(layout = "Title and Content", master = "Office Theme") %>%
  ph_with(value = p1, location = ph_location("body", left = 1, top = 1, width = 5, height = 5)) %>%
  #slide 2
  add_slide() %>%
  ph_with(value = p2, location = ph_location("body", left = 1, top = 1, width = 5, height = 5)) %>%
  print(target = file.path(path_out,"example_v1.pptx"))

enter image description here

...