Power BI中的Python Plotly

时间:2019-01-11 12:19:16

标签: python powerbi plotly

我正在尝试为某些数据分析构建Power BI工具,我需要的图之一是反分位数图(x轴上的分位数,y轴上的值)。 Power BI没有此功能,而且我在应用程序市场上找不到此功能,因此我正在使用Python编写所需的代码。

来自pandas.DataFrame.plot()的静态图工作正常,但缺少交互式图的细节。我已经用plotly编写了我需要的图,并用py.iplot()来运行它,但是Power BI告诉我

  

未创建图像。 Python代码未创建任何视觉效果。确保您的Python脚本导致绘制到Python默认设备的图

没有错误,我通过使用py.plot()运行绘图来确认代码是正确的,并在浏览器中查看了结果。我的代码是:

import plotly.plotly as py
import plotly.graph_objs as go

# get the quantiles and reshape
qs = dataset.groupby(by='HYDROCARBON_TYPE').Q42018_AbsDevi.quantile(q=[0.01,0.05,0.1,0.2,0.25,0.5,0.75,0.8,0.9,0.95,0.99]).unstack().transpose()
# plot it
traces = []
for col in qs.columns:
    traces.append(go.Scatter(x=qs.index, y=qs[col], name=col))
py.plot(traces,filename='basic-line')

为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

我无法使用PowerBI,Plotly和 Python 找到解决方案,也无法重现您的错误。关于您的错误,我最终得到的可视化结果要么超时,要么报告数据类型错误。但是,如果在另一个建议的解决方案之后还是有意思的话,我们可以回过头来,因为我已经能够使用PowerBI, plotly, ggplot and an R script visual 生成交互式q-图,如下所示:< / p>

enter image description here

假设您的首要任务是在PowerBI中绘制交互式分位数图,并且将Python作为工具排在第二,只需遵循this post中概述的步骤,并用以下命令替换R脚本:

source('./r_files/flatten_HTML.r')

############### Library Declarations ###############
libraryRequireInstall("ggplot2");
libraryRequireInstall("plotly")
####################################################

################### Actual code ####################
df <- data.frame(y = Values$Data)

# Build basic ggplot
g <- ggplot(df, aes(sample = y))

# Add quantile details
g = g + stat_qq() + stat_qq_line()

############# Create and save widget ###############
p = ggplotly(g);
internalSaveWidget(p, 'out.html');
####################################################

应该可以解决问题。如果这不适合您,请随时告诉我。