属性错误:模块'plotly'没有属性'plotly'。

6
我不明白为什么这段代码片段无法工作。数据是虚构的,我只是想能够使用plotly进行时间序列可视化。
这个模块曾经在Kaggle kernel中为我工作过:

https://www.kaggle.com/aubertsigouin/organizing-macrohistorical-datasets/data

奇怪的是,我无法再次使其工作。它显示“AttributeError: module 'plotly' has no attribute 'plotly'”。

有什么提示吗?

import plotly
import plotly.graph_objs as go
from plotly import tools
from plotly.offline import init_notebook_mode, plot, iplot
init_notebook_mode()
import pandas as pd
import numpy as np
data = []
array_of_time = pd.to_datetime(np.arange('2013-01-01', '2013-03-01', dtype='datetime64[M]'))

raw_data = [[20,29], [30,33]]

trace_1 = go.Scatter(
    x=array_of_time, 
    y=raw_data[0],
    name = 'data_1',
    line = dict(color = '#aeb9ba'),
    opacity = 0.8
)

trace_2 = go.Scatter(
    x=array_of_time, 
    y=raw_data[1],
    name = 'data_2',
    line = dict(color = '#ffd800'),
    opacity = 0.8
)


data.append(trace_1)
data.append(trace_2)

layout = dict(
    title = 'Exemple de titre',
    xaxis=dict(
        rangeselector=dict(
            buttons=list([
                dict(
                    count=1,
                    label='1m',
                    step='month',
                    stepmode='backward'
                ),
                dict(
                    count=6,
                    label='6m',
                    step='month',
                    stepmode='backward'
                ),
                dict(
                    step='all'
                )
            ]
            )
        ),
        rangeslider=dict(),
        type='date'
    )
)

fig = dict(data=data, layout=layout)
iplot(fig, filename = 'graph_1.html')

它给我以下错误消息:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-59-81b77c8cb926> in <module>()
     53 
     54 fig = dict(data=data, layout=layout)
---> 55 iplot(fig, filename = 'graph_1.html')

~\Anaconda3\lib\site-packages\plotly\offline\offline.py in iplot(figure_or_data, show_link, link_text, validate, image, filename, image_width, image_height, config)
    342                                      cls=plotly.utils.PlotlyJSONEncoder))
    343 
--> 344     fig = {'data': data, 'layout': layout}
    345     if frames:
    346         fig['frames'] = frames

~\Anaconda3\lib\site-packages\plotly\offline\offline.py in _plot_html(figure_or_data, config, validate, default_width, default_height, global_requirejs)
    206         'plotGlPixelRatio',
    207         'setBackground',
--> 208         'topojsonURL'
    209     )
    210 

AttributeError: module 'plotly' has no attribute 'plotly'
5个回答

5
尝试使用import plotly.plotly
我建议给它起一个别名,例如import plotly.plotly as plt
基本上,在plotly.plotly中,第一个调用plotly包,第二个在.后面调用包中的函数plotly。
编辑:请告诉我是否有效。

1
最好的方法是 from plotly import plotly - Mad Physicist
2
直到我意识到我需要重新启动内核,它才开始为我工作。谢谢! - asl
1
类似的问题在这里: AttributeError: module 'plotly' has no attribute 'subplots'. 在实施您的解决方案后:import plotly.subplots 它起作用了!谢谢。 - filip stepniak

1
import plotly.express as px

这是最新的更新。

0

我需要先使用命令提示符安装plotly,命令如下:

pip install plotly==5.10.0

安装完成后,重新启动Spyder。

接着,执行以下代码即可导入plotly.express模块:

import plotly.express as plt


-1
首先,我建议安装chart_studio(如果您正在使用anaconda,请在conda提示符中安装)。
pip install chart-studio

然后在你的jupyter notebook中,按以下方式导入plotly: import chart_studio.plotly as py


-3

从 plotly 4.0 版本开始,所有与 Chart Studio 相关的功能都已移至 chart_studio 库。

要安装 Chart Studio 的 Python 包,请使用以下命令:

pip install chart_studio

请按以下方式设置您的凭据。
第一步:

import chart_studio

最后:

chart_studio.tools.set_credentials_file(
    username='xxxxxxxxx',
    api_key='xxxxxxxx'
)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接