-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PLOTLY==5.7.0 BUG] CRIMEA IS NOT RUSSIA #3719
Comments
I support @dannycrief |
Thanks @dannycrief - Plotly does not intend for these maps to express a political viewpoint. We have many contributors and I certainly can't speak for them all, but personally I don't in any way intend these maps to express support for Russia's invasion of Ukraine! There is simply no justification for this senseless violence by Putin and the Russian military. For a bit of background, plotly.py inherits this from plotly.js, so all changes regarding these maps need to happen in that repo. We don't change these maps very often, but prior to 2019 the map we were using had Crimea as part of Ukraine. Then in plotly/plotly.js#3874 we updated the source data. The transfer of Crimea due to Russia's forcible and brutal occupation was noticed during that PR, and discussed 6 months later in plotly/plotly.js#4345. The convention we adopted - somewhat accidentally inherited from Natural Earth Data but I do think it has solid logic behind it - is to show de facto boundaries (which government actually controls the territory) rather than de jure boundaries (which government has the best legal or moral claim to the territory). The question of what's most accurate for data science purposes is fairly nuanced: often when you're showing a choropleth it's an aggregation of data collected throughout each region. For example if you're showing life expectancy or average income, the boundaries should match the data collection boundaries. Taking that a little further, our default boundaries also have a blind spot for historical data, in that they can't account for countries splitting, merging, or shifting over time. When we closed plotly/plotly.js#4345, we did so based on having provided users the ability to provide their own GeoJSON. We recognize though that this is somewhat hollow - it's difficult to find exactly the boundary set you want and ensure it's in the correct format, so very few users do this in practice. But it's clear no single set of boundaries is correct for everyone in every circumstance. I'd love for us to make this process easier, perhaps providing a curated selection of boundary sets that can be swapped in by URL or even by name. @dannycrief @kinAtrrA and others following this issue: would you be interested in helping us make it easier to choose a boundary set? And if we can find a sufficiently authoritative and performant data set that uses a different guiding principle and represents Crimea as part of Ukraine, we would certainly be open to making that the default. One good resource here is geoBoundaries which allows comparing many different data sets. I'll note though that most of these data sets need substantial simplification to get from the hundreds of MB they tend to start at down to the ~1MB we need for efficient loading. Note also that plotly.js depends on sane-topojson for its current Natural Earth maps, so depending on how we decide to proceed there may be some changes needed in that package. |
Crimea is not disputed territory, it is occupied territory. |
As of 2024, the problem still needs to be solved. |
Hi all -- after consideration of how to resolve this issue, our plan is to migrate our bundled GeoJSON layers from Natural Earth to GeoJSON layers provided by the United Nations. This is documented in: plotly/plotly.js#7334 I'll close this issue as resolving plotly/plotly.js#7334 will resolve this issue, not because we've made this change today. Thank you to the community for the feedback on this issue and we hope to resolve it by providing built-in GeoJSON layers from a central entity, the UN. |
After using this library I found this bug.

While calculating some statistics I found that Crimea is russian, which is not true. Please fix this bug. At the moment Crimea is not a russian territory. It is occupied by the oppressive Russian government. I think that using Crimea as a russian territory is offencive and not representative to Data Science problems. Whole world considers Crimea to be Ukraine and Crimean people to be ukranians. For example Canada and America say that this invasion was illegal and it is an occupation and annexation. So, I kindly ask to change Crimea to be a part of Ukraine, not russia. It will be more ethical towards ukranians and more representative in Data Science problems.
The text was updated successfully, but these errors were encountered: