问题描述
我有许多使用 {ggplot2} 和 {ggiraph} 的图,我已将它们合并到一个 {flexdashboard} 中
在尝试使用仪表板显示它们之前,这些图使用大小选项 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,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)
这会产生以下输出:
但是如果我将宽度设置调整为 10
plot <- girafe(ggobj = p,width =10)
print(plot)
我得到以下信息:
这似乎与 {ggiraph} 的文档不一致,是否有一些图形设置已被 {flexdashboard} 修改?我已经在 {flexdashboard} 输出上尝试了带有 {plotly} 和 {echarts4r} 的交互式 (js) 图表,这些图表没有显示相同的行为。
我正在使用 RStudio 1.4.1103 R 版本 4.0.2 系统:x86_64-apple-darwin17.0
解决方法
我一直在试验,似乎我可以通过一致地使用 width_svg
来控制输出。
我仍然不知道为什么会出现问题,但我怀疑某些潜在的图形设置。