Iโm mapping lines in plotly.graph_objects.Scattermapbox
with fig.add_trace
. Ideally, I would like to change the colour of the lines, such that it corresponds to an attribute in another column. For example:
Line | Attribute |
---|---|
LINE01 | 45 |
LINE02 | 60 |
LINE03 | 270 |
I canโt figure out how to do this. When I create my plot, each line appears as a legend entry (LINE01
appears as trace 0
, etc.) This is my code:
import plotly.graph_objects as go
fig = go.Figure()
for i in range(len(df)):
fig.add_trace(go.Scattermapbox(
mode = "lines",
lon = [df['lon.start'][i], df['lon.end'][i]],
lat = [df['lat.start'][i], df['lat.end'][i]],
line = dict(width = 3)
)
)
How can I change it such that my legend is grouped by the Attribute
column to create a discrete colour scale?
Iโve tried tweaking my code to add the following, but it doesnโt work
u_attribute = np.unique(df['Attribute'].values)
d = dict(zip(u_attribute, np.arange(len(u_attribute))))
line_color = [d[s] for s in df['Attribute']