Black Lives Matter. Please consider donating to Black Girls Code today.

Fill=toself on scattergeo trace fills entire plot *except* polygon

I am trying to create a terrain map in plotly.js. It is going well except when I try to fill the polygons using fill=toself. Instead of filling the interior of the polygon, everything but the polygon is filled with the selected color.

I created a minimal repro with a single polygon. In the picture below I was expecting the square to be red vs. everything but the square. Is this expected and fill=toself is trying to solve other scenarios? It seems wrong but maybe I don’t understand what that does.

Example pic. Live page with is at - All the relevant source code is in the page (vs. in other libraries, etc.).


FYI I did find this topic - Fill the inside of a Scattergeo polygon, not outside?.

Seems to describe the same behavior but I can’t glean any insight into how to solve my issue.

I did confirm that my polygon is closed (although the docs for fill=toself suggest plotly would close it anyway).


I’ve taken the live example down but this is still an open question for me.

The HTML example can be found here (as a text file):!AmHRNdU2UxhEjOd6kuMsJKuEhPuEIA

Would still love input / a solution!


1 Like

I’m having the same problem with python plotly. I’ve found that certain polygons will fill correctly and others will not. For example coordinates lat=[10,20,20,10,10] and lon=[10,10,20,20,10] will fill the interior, while coordinates lat=[0,20,20,10,0] and lon=[0,10,20,20,0] will not.

Any suggestions?