首页 > 解决方案 > 与 flexdashboard 一起使用后,ggiraph::girafe() 输出的大小与 RStudio 查看器上的文档不一致

问题描述

我有许多使用 {ggplot2} 和 {ggiraph} 的图,我已将它们合并到 {flexdashboard}

在尝试使用仪表板显示它们之前,这些图使用大小选项正确显示在 RStudio 的查看器上width = 0.7

但是,它们不会显示在仪表板上(只是一个空白面板),如果直接在 RStudio 中运行,现在会生成一个空白面板。经过一番调查,似乎某些设置已更改,并且图表未输出,因为大小与窗口不一致。

如果我将宽度设置更改为 10,它会在 RStudio 查看器中正确显示,这看起来很奇怪。

我在这里有一个小代表:

library(ggplot2)
library(ggiraph)

#dummy dataframe
df <- data.frame(
  x = seq.Date(Sys.Date() - 30, Sys.Date() - 1, by = "days"),
  y = runif(30, 0, 2) 
)

p <- ggplot2::ggplot(df, (aes(x,y)))+
  geom_point_interactive(aes(tooltip = x, data_id = x))


plot <- girafe(ggobj = p, 
                width =0.7)

print(plot)

这会产生以下输出:

宽度设置为 0.7

但是,如果我将宽度设置调整为 10

plot <- girafe(ggobj = p, 
                width =10)

print(plot)

我得到以下信息:

宽度设置为 10

这似乎与 {ggiraph} 的文档不一致,是否有一些图形设置已被 {flexdashboard} 修改?我已经在 {flexdashboard} 输出上尝试了带有 {plotly} 和 {echarts4r} 的交互式(js)图表,它们没有显示相同的行为。

我正在使用 RStudio 1.4.1103 R 版本 4.0.2 系统:x86_64-apple-darwin17.0

标签: rggplot2flexdashboardggiraph

解决方案


我一直在试验,似乎我可以通过width_svg一致地使用来控制输出。

我仍然不知道为什么会出现问题,但我怀疑一些底层图形设置。


推荐阅读