Изменение масштаба графика или таблицы при генерации точки питания
Я хочу иметь возможность выбирать размеры графиков, которые я вставляю в 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 ответ
Если вы хотите определить размер из 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"))
htt ps:https://stackru.com/images/ef55f54d67eb4e2c014a28a54623f78930c917e9.png