import plotly.plotly as py
import plotly.graph_objs as go
# Create random data with numpy
import numpy as np
N = 100
random_x = np.linspace(0, 1, N)
random_y0 = np.random.randn(N)+5
random_y1 = np.random.randn(N)
random_y2 = np.random.randn(N)-5
# Create traces
trace0 = go.Scatter(
x = random_x,
y = random_y0,
mode = 'markers',
name = 'markers'
)
trace1 = go.Scatter(
x = random_x,
y = random_y1,
mode = 'lines+markers',
name = 'lines+markers'
)
trace2 = go.Scatter(
x = random_x,
y = random_y2,
mode = 'lines',
name = 'lines'
)
data = [trace0, trace1, trace2]
py.iplot(data, filename='scatter-mode')
当我将其复制并粘贴到jupyter笔记本中时,出现以下错误:
PlotlyError:因为您没有在调用中提供'file_id',所以我们假设您正在尝试从URL中获取数字。您提供了网址“”,我们希望它以“ https://plot.ly”开头。 运行此功能的帮助以获取更多信息。
整个错误:
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-7-70bd62361f83> in <module>()
27
28 data = [trace0, trace1, trace2]
---> 29 py.iplot(data, filename='scatter-mode')
c:\users\appdata\local\programs\python\python37-32\lib\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
c:\users\appdata\local\programs\python\python37-32\lib\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']
c:\users\appdata\local\programs\python\python37-32\lib\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
c:\users\appdata\local\programs\python\python37-32\lib\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.
答案 0 :(得分:0)
由于代码中的以下微小更改,您应该能够使它工作:
import plotly
plotly.offline.plot(data, filename='basic-scatter')
答案 1 :(得分:0)
对于使用pandas
的人们来说,另一种解决方案是通过Plotly使用cufflinks
交互式熊猫图表。
import cufflinks as cf
cf.go_offline()