Как сохранить сюжет в автономном режиме, запустив мой скрипт - PullRequest
0 голосов
/ 28 сентября 2018

Я использую приведенный ниже код в своей записной книжке Jupyter.

import pandas as pd
import numpy as np
%matplotlib inline

from plotly import __version__
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot

print(__version__)

import cufflinks as cf
init_notebook_mode(connected=True)
cf.go_offline()

df2 = pd.DataFrame({'Category':['A','B','C'],'Values':[22,33,45]})
df2.iplot(kind='bar',x='Category',y='Values', asImage=True, filename='bar')

Это дает изображение для сохранения при работе в notebook, и я сохранил этот код в bar.py, и я запустил python bar.pyэто дает мне ошибку You must be authenticated to generate an image via json.

Я хочу запустить свой скрипт, который сохранит мой гистограмму как изображение в том же месте, я не могу использовать notebook, потому что эти скрипты будут в моемавтоматизации.

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

попробовал это https://plot.ly/python/static-image-export/ и volla!

хотя мне пришлось бороться с orca.

import pandas as pd
import numpy as np

%matplotlib inline

from plotly import __version__
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import plotly.graph_objs as go
import plotly.io as pio


print(__version__)

import cufflinks as cf
init_notebook_mode(connected=True)
cf.go_offline()


fig = go.Figure()
fig.add_bar(x=df2['Category'],y=df2['Values'])

iplot(fig)
pio.write_image(fig, 'fig1.png')
0 голосов
/ 28 сентября 2018

Графики Plotly генерируются в формате HTML + Javascript.Когда вы работаете в Jupyter Notebook, вы находитесь в веб-приложении, которое уже запущено в браузере, поэтому оно может отображать их напрямую.

При запуске из командной строки оно может генерировать HTML-файл с графиком.для вас, но вам нужно открыть его в браузере, чтобы он отображался.

На странице документации Plotly Offline это объясняется.Там написано, что вы можете сохранять изображения только при работе в Notebook.Похоже, что существует способ генерирования изображения в онлайн-режиме - для этого вам понадобится учетная запись Plotly и доступ к сети.

Возможно, вы захотите использовать другую библиотеку графиков для автоматической автономной работы, для которой не требуетсядоступ к сети или запуск пользовательского агента HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...