[英]Choropleth map with plotly error: invalid figure_or_data argument
我想用 plotly 來構建一個等值線圖。 我有一個包含狀態代碼和計數的數據框,如下所示:
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 導入 init_notebook_mode, plot, 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
被commented out
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')
# Code works, but no MAP
Must Restart and run all
!pip install cufflinks
!pip install chart_studio
import chart_studio
import pandas as pd
from plotly import __version__
%matplotlib inline
import plotly.offline as py
import plotly.graph_objs as go
from plotly.offline import download_plotlyjs
from plotly.offline import init_notebook_mode, plot, iplot
import cufflinks as cf
init_notebook_mode(connected=True)
cf.go_offline()
# scl = [[0.0, 'rgb(242,240,247)'],[0.2, 'rgb(218,218,235)'],[0.4, 'rgb(188,189,220)'],\
# [0.6, 'rgb(158,154,200)'],[0.8, 'rgb(117,107,177)'],[1.0, 'rgb(84,39,143)']]
#Create sample data
state = ['AK', 'AL', 'AR', 'AZ', 'CA']
count = [1,9,2,11,31]
df = pd.DataFrame({'state':state, 'count':count})
#df.head(2)
#Code below is from the question above
#Note: snowflakes=True is commented out
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)
py.iplot(fig,filename='d3-cloropleth-map')
情節可能是問題...嘗試安裝這種方式:
pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org plotly
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.