@mirceau wrote:
I have a piece of code that gives various colours to scatterplot dots based on the hour of the day wherein they were observed. This is done per this code:
color=listCoords.index.hour
In the contextual code:
return go.Figure( data=[ # Data for all observations based on date and time Scattermapbox( lat=listCoords["Lat"], lon=listCoords["Lon"], mode="markers", hoverinfo="text + lat + lon", text=listCoords.index.hour, marker=dict( showscale=True, color=listCoords.index.hour, opacity=np.where((listCoords['Threat'] == '3'), 0.1, 0.7), size=np.where((listCoords['Threat'] == '3'), 20, 7), colorscale=[ [0, "#F4EC15"], [0.04167, "#DAF017"], [0.0833, "#BBEC19"], [0.125, "#9DE81B"], [0.1667, "#80E41D"], [0.2083, "#66E01F"], [0.25, "#4CDC20"], [0.292, "#34D822"], [0.333, "#24D249"], [0.375, "#25D042"], [0.4167, "#26CC58"], [0.4583, "#28C86D"], [0.50, "#29C481"], [0.54167, "#2AC093"], [0.5833, "#2BBCA4"], [1.0, "#613099"], ], colorbar=dict( title="Time of<br>Day", x=0.93, xpad=0, nticks=24, tickfont=dict(color="#d8d8d8"), titlefont=dict(color="#d8d8d8"), thicknessmode="pixels", ), ), ),
I want to change ‘color=’ into:
color=np.where((listCoords['Threat'] == '3'), 'red', listCoords.index.hour)
so that the dots become ‘red’ if their ‘Threat’ value equals ‘3’
otherwise “color” should just be ‘listCoords.index.hour’But this new code update gives:
ValueError: Invalid element(s) received for the 'color' property of scattermapbox.marker Invalid elements include: ['4', '4', '4', '4', '4', '4', '4', '4', '4', '4'] The 'color' property is a color and may be specified as: - A hex string (e.g. '#ff0000') - An rgb/rgba string (e.g. 'rgb(255,0,0)') - An hsl/hsla string (e.g. 'hsl(0,100%,50%)') - An hsv/hsva string (e.g. 'hsv(0,100%,100%)') - A named CSS color: aliceblue, antiquewhite, aqua, aquamarine, azure, beige, bisque, black, blanchedalmond, blue, blueviolet, brown, burlywood, cadetblue, chartreuse, chocolate, coral, cornflowerblue....
QUESTION: So yes, it is expecting a CSS color obviously. But seeing that initially ‘color=’ did consider
listCoords.index.hour
as
a value, how can I make this item consider that value again if not
‘red’?
Posts: 13
Participants: 2