如何在 htmlwidgets R 中使用 saveWidget 调整 HTML 小部件的大小(重新打开的问题)?
How to resize HTML widget using saveWidget in htmlwidgets R (reopened question)?
我想重新打开之前关于 Whosebug 的一个主题,涉及我今天遇到的一个问题,我按照 matheuscburger 描述的相同方式修复了这个问题,方法是更改小部件的大小。
在 R
的导出操作中,是否有关于使用库 htmlwidgets
中的 saveWidget
更改 HTML 小部件大小的可能性的新选项?
示例代码如下:
library(ggplot2)
library(ggiraph)
library(patchwork)
library(cowplot)
mtcars <- mtcars
mtcars$tooltip <- rownames(mtcars)
gg1 <- ggplot(mtcars) +
geom_point_interactive(aes(x = drat, y = wt, color = qsec,
tooltip = tooltip, data_id = tooltip ), size = 4)
gg2 <- ggplot(mtcars) +
geom_point_interactive(aes(x = qsec, y = disp, color = mpg,
tooltip = tooltip, data_id = tooltip ), size = 4)
oggetto <- girafe( ggobj = plot_grid(gg1, gg2), width_svg = 8, height_svg = 4)
oggetto
导出代码如下:
library(htmlwidgets)
saveWidget(oggetto, file= "Grafico.html", selfcontained = TRUE, libdir = "libs", knitrOptions = list(width = 1200, height = 500))
使用 knitrOptions = list(width = 1200, height = 500)
无法定义尺寸。
我不知道如何在保存时执行此操作,但您绝对可以在创建小部件时或在保存之前随时执行此操作。
HTML 小部件中内置了几种默认大小调整机制。
您可以在此处使用像素、磅、百分比等设置大小。您可以在创建小部件后更改这些:
oggetto[["sizingPolicy"]][["defaultWidth"]] <- "50%"
或者,您可以在渲染时指定一个新的尺寸来呈现它自己。我在这里使用了百分比,但您可以使用任何 HTML/CSS 接受的大小调整机制。但是,我建议您使用动态调整大小,因为它是 HTML(即百分比、em、rem 等)。
oggetto <- girafe(ggobj = plot_grid(gg1, gg2),
width_svg = 8, height_svg = 4) %>%
onRender("
function(el) {
el.setAttribute('style', 'height: 50%; width: 50%;');
}")
我想重新打开之前关于 Whosebug 的一个主题,涉及我今天遇到的一个问题,我按照 matheuscburger 描述的相同方式修复了这个问题,方法是更改小部件的大小。
在 R
的导出操作中,是否有关于使用库 htmlwidgets
中的 saveWidget
更改 HTML 小部件大小的可能性的新选项?
示例代码如下:
library(ggplot2)
library(ggiraph)
library(patchwork)
library(cowplot)
mtcars <- mtcars
mtcars$tooltip <- rownames(mtcars)
gg1 <- ggplot(mtcars) +
geom_point_interactive(aes(x = drat, y = wt, color = qsec,
tooltip = tooltip, data_id = tooltip ), size = 4)
gg2 <- ggplot(mtcars) +
geom_point_interactive(aes(x = qsec, y = disp, color = mpg,
tooltip = tooltip, data_id = tooltip ), size = 4)
oggetto <- girafe( ggobj = plot_grid(gg1, gg2), width_svg = 8, height_svg = 4)
oggetto
导出代码如下:
library(htmlwidgets)
saveWidget(oggetto, file= "Grafico.html", selfcontained = TRUE, libdir = "libs", knitrOptions = list(width = 1200, height = 500))
使用 knitrOptions = list(width = 1200, height = 500)
无法定义尺寸。
我不知道如何在保存时执行此操作,但您绝对可以在创建小部件时或在保存之前随时执行此操作。
HTML 小部件中内置了几种默认大小调整机制。
您可以在此处使用像素、磅、百分比等设置大小。您可以在创建小部件后更改这些:
oggetto[["sizingPolicy"]][["defaultWidth"]] <- "50%"
或者,您可以在渲染时指定一个新的尺寸来呈现它自己。我在这里使用了百分比,但您可以使用任何 HTML/CSS 接受的大小调整机制。但是,我建议您使用动态调整大小,因为它是 HTML(即百分比、em、rem 等)。
oggetto <- girafe(ggobj = plot_grid(gg1, gg2),
width_svg = 8, height_svg = 4) %>%
onRender("
function(el) {
el.setAttribute('style', 'height: 50%; width: 50%;');
}")