绘声绘色的Python笔记本

2024-04-26 03:51:51 发布

您现在位置:Python中文网/ 问答频道 /正文

有人知道如何在使用python的plotly内部使用jupyter notebook吗?

文件的组织不是很好,至少在我看来不是这样。

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

我还不清楚的是(因为文档很差),对于jupyter notebook内部的绘图,是否需要凭据来使用plotly?是否只需要在云上托管绘图而不需要其他凭据?

我还发现没有任何真正的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.

更新:

我试着执行pandas示例,如here所述。

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

有人能解释一下为什么我在使用iplot()时会出现凭据错误吗。

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

plot.ly文档是我见过的最糟糕的文档之一。组织混乱,不太善于以身作则。


Tags: key文档pyimportapi图形databasic
2条回答

这是对我有用的。我用的是水蟒,这个阴谋不是盗用在木星,而是在外部产生的,不管它如何运作。

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

docs中,您需要使用init_notebook_mode启动Plotly笔记本,还需要注意,当您调用py.iplot时,它仍然从联机Plotly模块调用plot函数,您需要从plotly.offline导入iplot(而不是plot),并将其用于脱机绘图和笔记本内部渲染。脱机打印不需要凭据:

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

相关问题 更多 >