python - 仪表板显示空白图
问题描述
我想创建一个显示指定位置的地图,使用Dash
. 我准备了一个脚本:
import dash
import dash_core_components as dcc
import dash_html_components as html
mapbox_access_token = 'pk.eyJ1IjoiYWxpc2hvYmVpcmkiLCJhIjoiY2ozYnM3YTUxMDAxeDMzcGNjbmZyMmplZiJ9.ZjmQ0C2MNs1AzEBC_Syadg'
app = dash.Dash()
server = app.server
app.layout = html.Div([
dcc.Graph(
id='simple-map',
figure=dict(
data=dict(
lat=[51.98799603],
lon=[5.922999562],
type='scattermapbox',
marker=dict(size=5, color='white', opacity=0)
),
layout=dict(
mapbox=dict(
layers=[],
accesstoken=mapbox_access_token,
style='light',
center=dict(
lat=52.370216,
lon=-4.895168,
),
pitch=0,
zoom=2.5
)
)
)
)
])
app.css.append_css({
'external_url': 'https://codepen.io/chriddyp/pen/bWLwgP.css'
})
if __name__ == '__main__':
app.run_server(debug=True)
我究竟做错了什么?
解决方案
解决方案总是比看起来简单。您必须在data
和中添加括号marker
。
import dash
import dash_core_components as dcc
import dash_html_components as html
mapbox_access_token = 'pk.eyJ1IjoiYWxpc2hvYmVpcmkiLCJhIjoiY2ozYnM3YTUxMDAxeDMzcGNjbmZyMmplZiJ9.ZjmQ0C2MNs1AzEBC_Syadg'
app = dash.Dash()
server = app.server
app.layout = html.Div([
dcc.Graph(
id='simple-map',
figure=dict(
data=[dict(
lat=[51.98799603],
lon=[5.922999562],
type='scattermapbox',
marker=[dict(size=5, color='white', opacity=0)]
)],
layout=dict(
mapbox=dict(
layers=[],
accesstoken=mapbox_access_token,
style='light',
center=dict(
lat=52.370216,
lon=-4.895168,
),
pitch=0,
zoom=2.5
)
)
)
)
])
app.css.append_css({
'external_url': 'https://codepen.io/chriddyp/pen/bWLwgP.css'
})
if __name__ == '__main__':
app.run_server(debug=True)
推荐阅读
- python - 如何使用 .join 生成两个随机字符?
- javascript - 如何像这样重定向到其他网站
- sqlite - SQLite:从两列中选择值,就好像它们存储在一列中一样
- android - 获取在 Android 应用上捕获的最新视频的路径
- forms - 提交后验证未重置
- python - 如何根据(元组)列表中存在的多个列值有效地选择行?
- django - 如何在 Django 2.2 中将“lorem”模板标签输出的第一个单词大写?
- javascript - 无法从输入字段中获取输入
- c# - C# windows 窗体 - 关于跨线程事件的问题
- html - 如何在视图/索引上构建带有导轨的复选框