BlogdownでDiagrammeRを表示する
このブログはRのBlogdownパッケージで記事を書いているが、一部のパッケージで結果がHTML上に表示されない場合があった。確認しているのはDiagrammeRとplotly。
どうやら原因は親となるHTMLファイル(Rmdファイルのレンダリングしたhtml)のCSSによって、パッケージによる結果表示(htmlwidget)が影響を受けるというもの。その他dygraphなどでも同様の不具合があるらしい。 1.YihuiらのBlogdown解説サイト 2.Githubでの不具合報告
この不具合の解決にはwidgetframeパッケージが有効。これはhtmlwidgetを引数として受け取り、親ファイルのcssの影響を受けない新しいhtmlwidgetを生成するというもの。 widgetframeパッケージの開発者のGithub
DiagrammeRの表示
library(DiagrammeR)
library(widgetframe)
g <- grViz("digraph{graph[fontoname=Meiryo, rankdir=LR]
node[label='DiagrammeR']A
node[label='ウェブ上では非表示']B
node[label='DiagrammeR + frameWidget関数']C
node[label='ウェブ上で表示']D A->B C->D}" , height=200)
frameWidget(g)
plotlyの表示
library(tidyverse)
library(plotly)
data("anscombe")
p <- ggplot(anscombe, aes(x=x1,y=y1))+geom_point()+theme_bw()
ggplotly(p)