Python 从scattermapbox更改为densitymapbox会导致错误
我正在寻找解决我遇到的这个问题的方法。plotly社区()中有一个问题与我的问题几乎相似,但仍然没有找到解决方案。我的下拉菜单由scattermapbox和densitymapbox组成,因为我想在两者之间切换。但是,当从scattermapbox更改为densitymapbox时,会产生下图: 导入破折号 导入副本 导入路径库 导入破折号 将numpy作为np导入 输入数学 将日期时间导入为dt 作为pd进口熊猫 从dash.dependencies导入输入、输出、状态、客户端函数 将仪表板核心组件作为dcc导入 将dash_html_组件导入为html 导入破折号表 导入plotly.graph_objs作为goPython 从scattermapbox更改为densitymapbox会导致错误,python,plotly,mapbox,plotly-dash,Python,Plotly,Mapbox,Plotly Dash,我正在寻找解决我遇到的这个问题的方法。plotly社区()中有一个问题与我的问题几乎相似,但仍然没有找到解决方案。我的下拉菜单由scattermapbox和densitymapbox组成,因为我想在两者之间切换。但是,当从scattermapbox更改为densitymapbox时,会产生下图: 导入破折号 导入副本 导入路径库 导入破折号 将numpy作为np导入 输入数学 将日期时间导入为dt 作为pd进口熊猫 从dash.dependencies导入输入、输出、状态、客户端函数 将仪表板
# get relative data folder
PATH = pathlib.Path(__file__).parent
DATA_PATH = PATH.joinpath("data").resolve()
external_scripts = [
‘https://cdn.plot.ly/plotly-1.39.1.min.js’
]
external_stylesheets = [
‘https://codepen.io/etpinard/pen/wxwPXJ’
]
app = dash.Dash(
__name__,
external_scripts=external_scripts,
external_stylesheets=external_stylesheets
)
server = app.server
# Load data
df = pd.read_excel("Clean_TR(6.8.19).xlsx")
group_name = df['gname'].unique()
mapbox_access_token = <your token>
app.layout = html.Div(
[
dcc.Store(id = 'aggregate_data'),
dcc.Dropdown(
id = 'map_plot',
options = [{'label':i, "value":i} for i in ['Scatter', 'Density']],
value = ['Scatter']
),
dcc.Graph(id = 'mindanao-map')
]
)
@app.callback(
Output('mindanao-map', 'figure'),
[Input('map_plot', 'value')]
)
def update_map(map_plot):
if map_plot == "Density":
maptype = 'densitymapbox'
else:
maptype = 'scattermapbox'
return {
'data' : [{
'lat':df['latitude'],
'lon':df['longitude'],
'marker':{
'color': df['freq'],
'size': 8,
'opacity': 0.6
},
'customdata': df['idno'],
'type': maptype
}],
'layout': {
'mapbox': {
'accesstoken': mapbox_access_token,
'style':"light",
'center': dict(lon=123.30, lat= 7.50),
'zoom':'6',
},
'hovermode': 'closest',
'margin': {'l': 0, 'r': 0, 'b': 0, 't': 0}
}
}
if __name__ == "__main__":
app.run_server(debug=True)
它会导致密度图显示,但散射不会。
我需要把这两个分开吗?任何输入都可以。谢谢你抽出时间 这是一个Plotly.js错误,我在这里提交了一份报告:
编辑:Plotly.js、Plotly.py和Dash的最新版本修复了此错误。我认为这是Plotly.js中当前的一个错误,我们应该修复它。
if map_plot == "Scatter":
maptype = 'scattermapbox'
else:
maptype = 'densitymapbox'