2016-12-25 13 views
6

Czy ktoś wie, jak używać plotly wewnątrz jupyter notebook przy użyciu Pythona?spiskowy wewnątrz pyta notebooka jupyter

Dokumentacja nie jest dobrze zorganizowana, przynajmniej nie z mojego punktu widzenia.

Na przykład mogę uruchomić następujący kod, ale generuje on wykres w pliku HTML, który można otworzyć na zewnątrz od jupyter notebook. Czy istnieje sposób na renderowanie wykresu wewnątrz notebooka?

Co nie jest dla mnie jasne (jako że dokumentacja jest zła) to czy wymaga się poświadczeń do używania plotly dla działek w środku jupyter notebook? Czy dane uwierzytelniające są wymagane tylko do hostowania działek w ich chmurze i nic więcej?

Jak również stwierdzam, że nie ma żadnej rzeczywistej dokumentacji cufflinks. Wszystko, co mówi, sprawia, że ​​używanie ramek danych jest łatwiejsze. Ale dla kogoś, kto nie jest programistą, byłoby miło, gdyby była szczegółowa dokumentacja, dlaczego dokładnie jest to konieczne i co dokładnie robi to, co ułatwia życie.

import plotly.plotly as py 
from plotly.graph_objs import * 

trace0 = Scatter(
    x=[1, 2, 3, 4], 
    y=[10, 15, 13, 17] 
) 
trace1 = Scatter(
    x=[1, 2, 3, 4], 
    y=[16, 5, 11, 9] 
) 
data = Data([trace0, trace1]) 

plotly.offline.plot(data, filename = 'basic-line') 

/Users/blahblah/anaconda/lib/python2.7/site-packages/plotly/offline/offline.py:433: UserWarning: 

Your filename `basic-line` didn't end with .html. Adding .html to the end of your file. 

'file:///Users/blahblach/Box Sync/NS/NBooks/basic-line.html' 
In [ ]: 

Jeśli zmienię ostatnią linię w kodzie:

py.iplot(data, filename = 'basic-line') 

uzyskać poświadczeń błąd:

PlotlyLocalCredentialsError: 
Couldn't find a 'username', 'api-key' pair for you on your local machine. To sign in temporarily (until you stop running Python), run: 
>>> import plotly.plotly as py 
>>> py.sign_in('username', 'api_key') 

Even better, save your credentials permanently using the 'tools' module: 
>>> import plotly.tools as tls 
>>> tls.set_credentials_file(username='username', api_key='api-key') 

For more help, see https://plot.ly/python. 

UPDATE:

Próbowałem wykonać pandy przykłady jak opisano here.

Występują błędy poświadczeń dla wszystkich poleceń df.iplot() lub Series.iplot().

Czy ktoś może uprzejmie wyjaśnić, dlaczego otrzymuję błędy poświadczeń pomimo używania iplot().

Nie ma również przydatnej dokumentacji dotyczącej cufflinks.

Dokumentacja plot.ly jest jedną z najgorszych, jakie widziałem. Organizacja to bałagan, a nie przykład bardzo przyjazny.

Odpowiedz

5

Z docs, trzeba zainicjować Notebook Plotly z init_notebook_mode, również pamiętać, że podczas rozmowy py.iplot wciąż jest wywołanie funkcji plot od Internecie plotly modułu, trzeba importować iplot (nie wykreślić) z plotly.offline i używać go do drukowania offline i renderowania wewnątrz notebooka. Nie trzeba poświadczenia dla działki w trybie offline:

from plotly.offline import init_notebook_mode, iplot 
from plotly.graph_objs import * 

init_notebook_mode(connected=True)   # initiate notebook for offline plot 

trace0 = Scatter(
    x=[1, 2, 3, 4], 
    y=[10, 15, 13, 17] 
) 
trace1 = Scatter(
    x=[1, 2, 3, 4], 
    y=[16, 5, 11, 9] 
) 
data = Data([trace0, trace1]) 

iplot(data)    # use plotly.offline.iplot for offline plot 

enter image description here

+0

Czy to możliwe, aby wykonać coś w tym df.iplot (rodzaj = 'rozproszenia', ...) w trybie offline? Nie istnieje dokumentacja przydatna do spinki do mankietów. Dostaję błędy poświadczeń, gdy próbuję powyższego przykładu spinki do mankietów z https://plot.ly/ipython-notebooks/cufflinks/ – codingknob

+1

Tak, możesz przejść do trybu offline za pomocą 'importujących spinki do mankietów", jak w przypadku ; cf.go_offline() 'command. Następnie 'df.iplot (kind = 'scatter', filename = 'spinki do mankietów/cf-simple-line')' powinno wyrenderować wykres wewnątrz notatnika. – Psidom

0

Oto co pracował dla mnie. Używam Anacondy, fabuła nie jest osadzona w Jowiszu, ale generowana na zewnątrz, w każdym razie działa.

import plotly.offline as py 
import pandas as pd 
import plotly.graph_objs as go 

xl = pd.ExcelFile('c:\\Users\\xxx\Downloads\\krko.xlsx') 
df = xl.parse("All_Kr") 
krw=df.get_values()[:,12] # Column 13 
kro=df.get_values()[:,11] # Column 12 
Sw=df.get_values()[:,5] # Column 6 

Sw_vs_krw=go.Scatter(x=Sw,y=krw,name='krw') 
Sw_vs_kro=go.Scatter(x=Sw,y=kro,name='kro') 
data = [Sw_vs_krw, Sw_vs_kro] 
py.plot(data,layout,filename='C:\\Users\\earro\\basic-line-plot.html') 

Plotly resulst