Python 从scattermapbox更改为densitymapbox会导致错误

Python 从scattermapbox更改为densitymapbox会导致错误,python,plotly,mapbox,plotly-dash,Python,Plotly,Mapbox,Plotly Dash,我正在寻找解决我遇到的这个问题的方法。plotly社区()中有一个问题与我的问题几乎相似,但仍然没有找到解决方案。我的下拉菜单由scattermapbox和densitymapbox组成,因为我想在两者之间切换。但是,当从scattermapbox更改为densitymapbox时,会产生下图: 导入破折号 导入副本 导入路径库 导入破折号 将numpy作为np导入 输入数学 将日期时间导入为dt 作为pd进口熊猫 从dash.dependencies导入输入、输出、状态、客户端函数 将仪表板

我正在寻找解决我遇到的这个问题的方法。plotly社区()中有一个问题与我的问题几乎相似,但仍然没有找到解决方案。我的下拉菜单由scattermapbox和densitymapbox组成,因为我想在两者之间切换。但是,当从scattermapbox更改为densitymapbox时,会产生下图:

导入破折号 导入副本 导入路径库 导入破折号 将numpy作为np导入 输入数学 将日期时间导入为dt 作为pd进口熊猫 从dash.dependencies导入输入、输出、状态、客户端函数 将仪表板核心组件作为dcc导入 将dash_html_组件导入为html 导入破折号表 导入plotly.graph_objs作为go

# 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'