我正在以编程方式将一个plotly
小部件写入html。但是,我似乎无法找到一个选项来使得到的情节居中。这是一个有代表性的例子:
library( ggplot2 )
gg <- ggplot( mtcars, aes( x=mpg, y=wt ) ) + geom_point()
pp <- plotly::ggplotly( gg, width=300, height=300 )
htmlwidgets::saveWidget( pp, "test.html" )
请注意,结果输出在页面上左对齐:
我已经查看了ggplotly
,plotly::layout
和saveWidget
的选项,但没有立即明显的方法来集中情节。在过去,我在Rmarkdown文档中包含了plotly
个元素,并使用了markdown关键字来使图表居中。但是,当前plotly
输出是作为更大框架的一部分动态生成的,这对于在Rmarkdown内部进行包装并非易事。在将plotly
小部件写入.html时,有没有办法引入居中标签?
答案 0 :(得分:1)
我发现最简单的方法是使用ggplotly
包将div
的输出包装在htmltools
标记内。生成的HTML对象可以使用同一个包中的save_html
保存到文件中:
pp <- plotly::ggplotly( gg, width=300, height=300 ) # As before
ppc <- htmltools::div( pp, align="center" ) # Result is now an HTML object
htmltools::save_html( ppc, "test.html" ) # Use in place of htmlwidgets::saveWidget()
这是结果,现在正确居中: