从plot.ly网站上获取histogram
https://plot.ly/python/histograms/
我们有以下代码段:
import plotly.plotly as py
import plotly.graph_objs as go
import numpy as np
x = np.random.randn(500)
data = [go.Histogram(x=x)]
py.iplot(data, filename='basic histogram')
但是运行此命令使我们抱怨它未在其托管服务上运行:
Aw, snap! We didn't get a username with your request.
Don't have an account? https://plot.ly/api_signup
Questions? accounts@plot.ly
---------------------------------------------------------------------------
PlotlyError Traceback (most recent call last)
<ipython-input-33-bf076fa5dd12> in <module>
7 data = [go.Histogram(x=x)]
8
----> 9 py.iplot(data, filename='basic histogram')
~/Library/Python/3.6/lib/python/site-packages/plotly/plotly/plotly.py in iplot(figure_or_data, **plot_options)
162 embed_options['height'] = str(embed_options['height']) + 'px'
163
--> 164 return tools.embed(url, **embed_options)
165
166
~/Library/Python/3.6/lib/python/site-packages/plotly/tools.py in embed(file_owner_or_url, file_id, width, height)
394 else:
395 url = file_owner_or_url
--> 396 return PlotlyDisplay(url, width, height)
397 else:
398 if (get_config_defaults()['plotly_domain']
~/Library/Python/3.6/lib/python/site-packages/plotly/tools.py in __init__(self, url, width, height)
1438 def __init__(self, url, width, height):
1439 self.resource = url
-> 1440 self.embed_code = get_embed(url, width=width, height=height)
1441 super(PlotlyDisplay, self).__init__(data=self.embed_code)
1442
~/Library/Python/3.6/lib/python/site-packages/plotly/tools.py in get_embed(file_owner_or_url, file_id, width, height)
299 "'{1}'."
300 "\nRun help on this function for more information."
--> 301 "".format(url, plotly_rest_url))
302 urlsplit = six.moves.urllib.parse.urlparse(url)
303 file_owner = urlsplit.path.split('/')[1].split('~')[1]
PlotlyError: Because you didn't supply a 'file_id' in the call, we're assuming you're trying to snag a figure from a url. You supplied the url, '', we expected it to start with 'https://plot.ly'.
Run help on this function for more information.
In [34]: 2018-11-22 17:40:38.622 Python[26768:4641247] Persistent UI failed to open file file:///Users/sboesch/Library/Saved%20Application%20State/org.python.python.savedState/window_1.data: No such file or directory (2)
那么如何从标准plot.ly
的REPL中使用ipython
?
答案 0 :(得分:1)
从3开始,您可以仅使用plotly.graph_objs
至FigureWidget
在Jupyter Notebook中工作,如果您需要显式显示绘图,则可以将ipython的display
与其他任何小部件一起使用:< / p>
from IPython import display
from plotly import graph_objs as go
import numpy as np
x = np.random.randn(500)
figure = go.FigureWidget()
figure.add_trace(go.Histogram(x=x))
display.display(figure)
答案 1 :(得分:0)
需要两件事:首先确保拥有plotly
的最新版本:我安装了1.8.3,升级到2.7.0后,情况看起来好多了。
此外:来自@cody的评论-我更仔细地查看了http:// plot.ly/python/offline的offline
模式。目前尚不清楚哪种绘制方式:但是我们需要运行以下魔术:
init_notebook_mode(connected=True)
现在,代码段为:
from plotly import __version__
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import plotly.plotly as py
import plotly.graph_objs as go
import pandas as pd
import requests
bike = pd.read_json('/shared/bikeRental.json',lines=True)
#bike.createOrReplaceTempView('bike')
#x=sqldf('select Duration from bikePd where Duration < 7200')
x=sqldf('select Duration from bike where Duration < 7200')
init_notebook_mode(connected=True)
hist = [go.Histogram(x=x['Duration'].values)]
plot(hist,filename='/shared/bikeRides')
哪个会产生: