Power BI:包含一个 htmlwidget,而不是一个 plotly 图形
Power BI: include an htmlwidget other than a plotly graphic
在 this amazing answer and this tutorial 之后,我已经能够在 Power BI 中包含交互式 ggplotly
:
我想知道是否可以包含其他 htmlwidgets。我尝试使用 DT 和 rAmCharts4 但我只得到了一个空的情节,没有错误通知。您是否有 Power BI 中包含的另一个 htmlwidget 的示例?
编辑
我终于用 DT 成功了。以及 highcharter.
因为我知道管理,所以我回答我自己的问题。这是一个例子。首先,按照我的问题中给出的链接中的说明安装 pbiviz
。
创建工作目录:mkdir pbivizWorkplace
并进入:cd pbivizWorkplace
初始化一个新视觉对象:pbiviz new Ggiraph -t rhtml
在创建的文件夹Ggiraph
中,编辑pbiviz.json;你必须为 description
(你想要什么)、supportUrl
(例如 https://www.example.com
)、name
和 email
写点东西
编辑script.r
,例如:
source('./r_files/flatten_HTML.r')
############### Library Declarations ###############
libraryRequireInstall("ggplot2");
libraryRequireInstall("ggiraph")
####################################################
################### Actual code ####################
data <- Values # we will use 'mtcars' as 'Values'
data$carname <- row.names(data)
gg_point <- ggplot(data = data) +
geom_point_interactive(aes(x = wt, y = qsec, color = disp,
tooltip = carname, data_id = carname)) +
theme_minimal()
####################################################
############# Create and save widget ###############
p <- girafe(ggobj = gg_point)
internalSaveWidget(p, 'out.html');
####################################################
################ Reduce paddings ###################
ReadFullFileReplaceString('out.html', 'out.html', ',"padding":[0-9]*,', ',"padding":0,')
####################################################
Power BI中导入的数据对应脚本中Values
因为我们要使用mtcars
作为数据,所以我们将其保存为Excel文件,但在此之前,我们添加一个包含行名的列,因为我们将使用行名作为工具提示:
mtcars$carname <- rownames(mtcars)
openxlsx::write.xlsx(mtcars, "mtcars.xlsx")
转到文件夹 pbivizWorkplace/Ggiraph 和 运行 pbiviz package
打开 Power BI,导入 mtcars.xlsx,select 并加载 sheet
在 'Visualizations' 面板中,单击三个点,即 'import a visual from a file' 和 select pbiviz 文件在 pbivizWorkplace/Ggiraph/dist
一个新图标(显示一些工具)出现在 'Visualizations' 面板的底部,点击它
在 'Fields' 面板中,select 用于绘图的列,此处为 wt
、qsec
、disp
和carname
您在 Power BI 中获得交互式图形:
在 this amazing answer and this tutorial 之后,我已经能够在 Power BI 中包含交互式 ggplotly
:
我想知道是否可以包含其他 htmlwidgets。我尝试使用 DT 和 rAmCharts4 但我只得到了一个空的情节,没有错误通知。您是否有 Power BI 中包含的另一个 htmlwidget 的示例?
编辑
我终于用 DT 成功了。以及 highcharter.
因为我知道管理,所以我回答我自己的问题。这是一个例子。首先,按照我的问题中给出的链接中的说明安装 pbiviz
。
创建工作目录:
mkdir pbivizWorkplace
并进入:cd pbivizWorkplace
初始化一个新视觉对象:
pbiviz new Ggiraph -t rhtml
在创建的文件夹
写点东西Ggiraph
中,编辑pbiviz.json;你必须为description
(你想要什么)、supportUrl
(例如https://www.example.com
)、name
和email
编辑
script.r
,例如:
source('./r_files/flatten_HTML.r')
############### Library Declarations ###############
libraryRequireInstall("ggplot2");
libraryRequireInstall("ggiraph")
####################################################
################### Actual code ####################
data <- Values # we will use 'mtcars' as 'Values'
data$carname <- row.names(data)
gg_point <- ggplot(data = data) +
geom_point_interactive(aes(x = wt, y = qsec, color = disp,
tooltip = carname, data_id = carname)) +
theme_minimal()
####################################################
############# Create and save widget ###############
p <- girafe(ggobj = gg_point)
internalSaveWidget(p, 'out.html');
####################################################
################ Reduce paddings ###################
ReadFullFileReplaceString('out.html', 'out.html', ',"padding":[0-9]*,', ',"padding":0,')
####################################################
Power BI中导入的数据对应脚本中Values
因为我们要使用mtcars
作为数据,所以我们将其保存为Excel文件,但在此之前,我们添加一个包含行名的列,因为我们将使用行名作为工具提示:
mtcars$carname <- rownames(mtcars) openxlsx::write.xlsx(mtcars, "mtcars.xlsx")
转到文件夹 pbivizWorkplace/Ggiraph 和 运行
pbiviz package
打开 Power BI,导入 mtcars.xlsx,select 并加载 sheet
在 'Visualizations' 面板中,单击三个点,即 'import a visual from a file' 和 select pbiviz 文件在 pbivizWorkplace/Ggiraph/dist
一个新图标(显示一些工具)出现在 'Visualizations' 面板的底部,点击它
在 'Fields' 面板中,select 用于绘图的列,此处为
wt
、qsec
、disp
和carname
您在 Power BI 中获得交互式图形: