在 Plotly 中,使用 Scattermapbox,有没有办法在标记上方和下方显示一些文本?
目前,仅当我将鼠标悬停在标记上时才会显示文本,并且该图仅显示我想要显示的文本的一部分。
我的输入数据框df_area如下。我想显示列name和列中包含的文本forecast。
name latitude longitude forecast
0 "AK" 2.675000 203.139000 "Cloudy"
1 "Bd" 2.621000 203.224000 "Cloudy"
Run Code Online (Sandbox Code Playgroud)
但是,我目前只能显示该forecast列中的文本。
fig = go.Figure(go.Scattermapbox(
lat=df_area["latitude"],
lon=df_area["longitude"],
mode="markers+text",
marker={"size": 10},
text=df_area["forecast"]))
Run Code Online (Sandbox Code Playgroud)
我在下面提供了一个示例,请注意,这需要一个(免费)mapbox 访问令牌。
import plotly.graph_objects as go
import pandas as pd
mapbox_access_token = 'your-free-token'
df = pd.DataFrame({'name': ['London', 'Oxford'],
'latitude': [51.509865, 51.7520],
'longitude': [-0.118092, -1.2577],
'forecast': ['Cloudy', 'Sunny']})
data = go.Scattermapbox(lat=list(df['latitude']),
lon=list(df['longitude']),
mode='markers+text',
marker=dict(size=20, color='green'),
textposition='top right',
textfont=dict(size=16, color='black'),
text=[df['name'][i] + '<br>' + df['forecast'][i] for i in range(df.shape[0])])
layout = dict(margin=dict(l=0, t=0, r=0, b=0, pad=0),
mapbox=dict(accesstoken=mapbox_access_token,
center=dict(lat=51.6, lon=-0.2),
style='light',
zoom=8))
fig = go.Figure(data=data, layout=layout)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10587 次 |
| 最近记录: |