Python Plotly в Power BI - PullRequest
       29

Python Plotly в Power BI

0 голосов
/ 11 января 2019

Я пытаюсь создать инструмент 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 голосов
/ 06 марта 2019

Мне не удалось найти решение с использованием PowerBI, Plotly и Python , и я не смог воспроизвести ваши ошибки. Что касается ваших ошибок, я закончил с визуализациями, которые были либо по тайм-ауту, либо сообщали об ошибке типа данных. Но мы можем вернуться к этому, если это все еще интересно после другого предложенного решения, потому что я смог создать интерактивный q-график, используя PowerBI, plotly, ggplot and an R script visual, например:

enter image description here

Предполагая, что ваши главные приоритеты - создание интерактивного квантильного графика в PowerBI, а Python как инструмент занимает второе место, просто выполните шаги, описанные в этого поста , и замените скрипт 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');
####################################################

Это должно сработать. Не стесняйтесь, дайте мне знать, если это не работает для вас.

...