Python 带有绘图错误的Choropleth映射:无效的figure\u或\u数据参数

Python 带有绘图错误的Choropleth映射:无效的figure\u或\u数据参数,python,python-3.x,matplotlib,plotly,Python,Python 3.x,Matplotlib,Plotly,我想用plotly来构建一个choropleth地图。我有一个带有状态代码的数据帧和一个如下所示的计数: count state 0 1 AK 1 9 AL 2 2 AR 3 11 AZ 4 31 CA ... 我尝试了以下方法: from plotly.offline import init_notebook_mode, plot, iplot init_notebook_mode(connected=True) test_data = [dict(

我想用plotly来构建一个choropleth地图。我有一个带有状态代码的数据帧和一个如下所示的计数:

  count state
0   1   AK
1   9   AL
2   2   AR
3   11  AZ
4   31  CA
...
我尝试了以下方法:

from plotly.offline import init_notebook_mode, plot, iplot
init_notebook_mode(connected=True)

test_data = [dict(type='choropleth',
                 autocolorscale=False,
                 locations=df['state'],
                 z=df['count'],
                 locationmode='USA-states',
                 marker=dict(
                     line=dict(
                         color='rgb(255,255,255)',
                         width=2
                     )),
                 colorbar=dict(
                     title='Choropleth Map Test')
                 )] 
layout = dict(
            title='Test title',
            geo = dict(
                scope='usa',
            projection=dict(type='albers usa'),
            snowflakes=True,
            lakecolor='rgb(255,255,255)'),
            )

fig = dict(data=data, layout=layout)

py.iplot(fig,filename='d3-cloropleth-map')
然后我得到一个错误:

PlotlyDictValueError: 'data' has invalid value inside 'figure'
Path To Error: ['data']
Current path: []
Current parent object_names: []
Additionally:
    role: object
During handling of the above exception, another exception occurred:
有人能给我指一下正确的方向吗

从plotly.offline导入初始笔记本模式,打印,iplot

您已经从plotly.offline导入了iplot,应该直接调用该函数。使用iplot()而不是py.iplot()


py似乎被定义为上面列出的代码中未包含的其他内容。

下面的代码应该可以工作:

导入库

import pandas as pd
from plotly import __version__
%matplotlib inline

import plotly.offline as pyo
import plotly.graph_objs as go
from plotly.offline import iplot

import cufflinks as cf
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot 
init_notebook_mode(connected=True)

init_notebook_mode(connected=True)
cf.go_offline()
创建样本数据

state = ['AK', 'AL', 'AR', 'AZ', 'CA']
count = [1,9,2,11,31]
df = pd.DataFrame({'state':state, 'count':count})
df.head(2)
下面的代码来自上面的问题

注意:
snowflakes=True
已被注释掉

test_data = [dict(type='choropleth',
                 autocolorscale=False,
                 locations=df['state'],
                 z=df['count'],
                 locationmode='USA-states',
                 marker=dict(
                     line=dict(
                         color='rgb(255,255,255)',
                         width=2
                     )),
                 colorbar=dict(
                     title='Choropleth Map Test')
                 )] 
layout = dict(
            title='Test title',
            geo = dict(
                scope='usa',
                projection=dict(type='albers usa'),
                #snowflakes=True,
                lakecolor='rgb(255,255,255)'),
            )

fig = dict(data=test_data, layout=layout)

pyo.iplot(fig,filename='d3-cloropleth-map')

这可能是个问题。。。请尝试以这种方式安装:

pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org plotly

尝试使用
data=[data]
而不是底部的fig定义中的
data=data
pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org plotly