Plotly Scattermapbox:有没有办法在标记的上方和下方包含一些文本? [英] Plotly Scattermapbox: Is there a way to include some text above and below the markers?
问题描述
在Plotly中,使用Scattermapbox,有没有办法在标记的上方和下方显示一些文本?
In Plotly, using Scattermapbox, is there a way to display some text above and below the markers?
当前,仅当我将鼠标悬停在标记上时,文本才会显示,并且绘图仅显示我要显示的文本的一部分.
Currently the text only appears when I hover on the markers, and the plot shows only part of the text that I would like to display.
我的输入数据框 df_area
如下.我想同时显示 name
列和 forecast
列中包含的文本.
My input data frame df_area
is as follows. I would like to display the text contained in both the name
column and in the forecast
column.
name latitude longitude forecast
0 "AK" 2.675000 203.139000 "Cloudy"
1 "Bd" 2.621000 203.224000 "Cloudy"
但是,我目前只能在 precast
列中显示文本.
However, I can currently only display the text in the forecast
column.
fig = go.Figure(go.Scattermapbox(
lat=df_area["latitude"],
lon=df_area["longitude"],
mode="markers+text",
marker={"size": 10},
text=df_area["forecast"]))
推荐答案
我在下面提供了一个示例,请注意,这需要一个(免费的)mapbox访问令牌.
I included an example below, note that this requires a (free) mapbox access token.
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)
这篇关于Plotly Scattermapbox:有没有办法在标记的上方和下方包含一些文本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!