2016-12-25 115 views
6

有谁知道如何使用plotly里面jupyter notebook使用python?情节内jupyter笔记本python

该文档组织得不是很好,至少不是从我的角度来看。

例如,我可以运行以下代码,但它会在可访问jupyter notebook之外的HTML文件中生成图形。有没有办法让图形在笔记本内部呈现?

什么也不清楚(因为文档很差)是否需要一个凭据使用plotlyjupyter notebook内的地块?凭证只需要在云上托管这些图表,而不需要其他任何东西?

以及我发现没有任何真实的文档cufflinks。它所说的是它使plotlypandas数据帧更容易使用。但对于不是开发人员的人来说,如果有详细的文档说明为什么它是必要的,它究竟做了什么使生活变得更加简单,那将是非常好的。

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 [ ]: 

如果我更改代码的最后一行到:

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

我得到的证书错误:

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:

我试图执行的大熊猫示例如描述的here

我得到所有df.iplot()Series.iplot()命令的凭据错误。

有人可以解释为什么我尽管使用iplot()获取凭据错误。

关于cufflinks也没有有用的文档。

plot.ly文档是我见过的最差的文档之一。组织是一团糟,不是很友好的例子。

回答

5

docs,你需要启动Plotly笔记本采用init_notebook_mode,还要注意的是,当你调用py.iplot它仍然是从网上plotly模块调用的绘图功能,您需要将IPLOT(未画出)从进口plotly.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

是否有可能像这样df.iplot(KIND = '散',执行什么......) 离线?没有可用的袖扣链接文件。我从https://plot.ly/ipython-notebooks/cufflinks/ – codingknob

+1

尝试上面的袖扣示例时遇到凭证错误。是的,您可以通过“进口袖扣”离线,如cf ; cf.go_offline()'命令。然后,'df.iplot(kind ='scatter',filename ='cufflinks/cf-simple-line')'应该在笔记本中绘制该图。 – Psidom

0

这里是我工作。我正在使用Anaconda,这个情节并没有嵌入木星中,而是在外面生成,无论如何它都能正常工作。

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