我正在尝试为某些数据分析构建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')
为什么这不起作用?
答案 0 :(得分:1)
我无法使用PowerBI,Plotly和 Python 找到解决方案,也无法重现您的错误。关于您的错误,我最终得到的可视化结果要么超时,要么报告数据类型错误。但是,如果在另一个建议的解决方案之后还是有意思的话,我们可以回过头来,因为我已经能够使用PowerBI, plotly, ggplot and an
R script visual
生成交互式q-图,如下所示:< / p>
假设您的首要任务是在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');
####################################################
应该可以解决问题。如果这不适合您,请随时告诉我。