gpt4 book ai didi

python - 从散点图框更改为密度图框会导致错误

转载 作者:行者123 更新时间:2023-12-01 07:06:14 25 4
gpt4 key购买 nike

我正在寻找解决我遇到的这个问题的方法。在plotly社区( https://community.plot.ly/t/problem-with-densitymapbox-chart-type/28517 )有一个和我几乎类似的问题,但仍然没有找到解决方案。我的下拉菜单由散点图框和密度图框组成,因为我想在它们之间进行切换。但是,当从 scattermapbox 更改为 Densitymapbox 时,结果如下图:

densitymapbox after scattermapbox format 导入破折号 导入副本 导入路径库 导入破折号 将 numpy 导入为 np 导入数学 将日期时间导入为 dt 将 pandas 导入为 pd 从 dash.dependency 导入输入、输出、状态、ClientsideFunction 将 dash_core_components 导入为 dcc 将 dash_html_components 导入为 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)

但是每当我交换 if-else 顺序时,即,

if map_plot == "Scatter":
maptype = 'scattermapbox'
else:
maptype = 'densitymapbox'

它会显示密度图,但不会显示散点图。我需要将这两者分开而不是 if-else 吗?任何输入都可以。感谢您的宝贵时间!

最佳答案

这是一个 Plotly.js 错误,我已在此处提交报告:https://github.com/plotly/plotly.js/issues/4285

编辑:此错误在最新版本的 Plotly.js、Plotly.py 和 Dash 中已修复。

关于python - 从散点图框更改为密度图框会导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58436750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com