Scattermapbox maki symbols plot on map, but not legend
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 18.8k
- Forks
- 2.8k
- Avg merge
- 16h 26m
- Merged PRs (30d)
- 21
Description
Hi Plotly,
First, thank you for all the fantastic work you do.
I am a big fan of / heavy user of the plotly.go objects that render maps (Scattermapbox / Choroplethmapbox).
I have noticed, however, that when setting the symbol type to a maki symbol, it will render it on the map - but not the legend. This feels like a bug, as there is also a colour associated with the legend item that is not matched anywhere on the plot / by the symbol (except in hovertext).
Reproducible example below:
import os
import plotly.graph_objects as go
mapboxt = os.getenv('MAPBOX_TOKEN') # a mapbox token
lats = [52.370216, 53.2191696, 50.851368, 51.8125626]
lons = [4.895168, 6.5666699, 5.690973, 5.8372264 ]
fig = go.Figure()
scatt = go.Scattermapbox(
lat=lats,
lon=lons,
mode='markers',
hovertext=['Amsterdam', 'Groningen', 'Maastricht', 'Nijmegen'],
hoverinfo='text',
below='',
marker=dict(symbol ='hospital'),
name ='my_fake_hospitals',
showlegend=True)
fig.add_trace(scatt)
fig.update_layout(go.Layout(title_text ='Is it a hospital? No, it is a blue dot!',
title_x=0.5,
width=750,
height=700,
mapbox = dict(center= dict(lat=52.370216, lon=4.895168),
accesstoken= mapboxt,
zoom=5,
style="light"
)))
fig
Finally, as a side note, some maki symbols plot whilst others do not. I have determined through trial and error that this is down to whether or not the MapBox style includes these specific symbol types. Using custom Mapbox styles, therefore, may silently break the maki functionality as well.
Thanks you for your attention.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the provided Python reproducible example with Scattermapbox, the Maki symbol "hospital", and showlegend=True, then compare the map symbol with its legend item. Trace the Scattermapbox marker-symbol and legend handling, including the note about Mapbox styles; done means supported Maki symbols appear consistently in the legend and map, with behavior covered by a regression test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data-visualization
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100