Choropleth Maps && Crimea Annexation by Russia

Hello all,

Crimea was annexed by Russia in 2014. More info can be found here

The main quote from the article above:

The forced annexation of Crimea is not recognized by Ukraine, is not recognized by the UN General Assembly, PACE , OSCE PA , and also contradicts the decision of the Venice Commission, while the Russian authorities interpret it as “the return of Crimea to Russia.”

While learning Plotly for Python, specifically the Choropleth Maps section, I recognized that Crimea was included in the Russian territory.


image

In the current implementation, you agree with the fact that Crimea was legitimately included in Russia and insult my people, whose territories were taken by force. This decision was not supported by any democratic state.

The annexation of Crimea started an unprovoked Russian-Ukrainian war, in which many citizens of my country have now died.

With your implementation, you agree with the legality of the aggressor who took the legal lands of my state and has been trying to do so for 8 years !

I ask you as a Ukrainian, I am a citizen of a state that is a victim of Russian aggression, not to be influenced by the aggressor, and not to depict Crimea as Russian in these plots, since this annexation is not legitimate, and it is also not recognized at the international level.

Sincerely,
Ivan Kravchuk

Hey @ivankravchuk welcome to the forums. Could you please add the code to reproduce the graph you are showing above?

Hello !
Yes, for sure

import plotly.graph_objs as go 
from plotly.offline import init_notebook_mode,iplot, plot
import pandas as pd
init_notebook_mode(connected=True) 

df = pd.read_csv('2014_World_Power_Consumption')
country_corrections = {
    'Turkey': 'TĂĽrkiye',
    'Czech Republic': 'Czechia',
    'Russia': 'Russian Federation'
    # Add more mappings if needed
}

def get_country_code(name):
    try:
        corrected_name = country_corrections.get(name, name)
        return pycountry.countries.lookup(corrected_name).alpha_3
    except LookupError:
        return None

df['Code'] = df['Country'].apply(get_country_code)

data = dict(type = 'choropleth',
            colorscale = 'portland',
            locations = df['Code'], 
            z = df['Power Consumption KWH'], 
            text = df['Text'],
            colorbar = {'title': 'Power Consumption KWH'}
    )
layout = dict(
    title = '2014 World Power Consumption',
    geo = dict(
        showframe = False,
        projection={'type':'robinson'},
        )
    )

choromap = go.Figure(data = [data],layout = layout)
iplot(choromap,validate=False)

Sorry, I can’t attach csv file as files with that extension are not allowed to attach, only images, pdf, etc

Found it here

Thank you @ivankravchuk.

This issue has been discussed here:

and here:

See also this statement:

I think plotly is not actively controlling this and relies on third party data.

1 Like

Hey @AIMPED,

Thank you for providing references to similar issues.

However, the final answer doesn’t resolve the problem.

I understand that the problem lies not in the code of the Plotly library but in the library Plotly uses.

To correctly localize the problem and address my complaint further, I need to know the library’s name and version that generates such visual data.

I’m not certain, but I think the source may be the boundaries from Natural Earth (https://www.naturalearthdata.com/).

They produce “de facto” boundaries that indicate “who actually controls the situation on the ground”. The detail on their policy on this is at this link:

https://www.naturalearthdata.com/about/disputed-boundaries-policy/

2 Likes

Thanks for sharing your insight @davidharris and @AIMPED .

@ivankravchuk Thank you for trying to localize the problem and trying to help make it easier to choose a boundary set. If you have have questions along the way, I would recommend posting them as comments in this issue shared by @AIMPED .

Hi @ivankravchuk; thanks for your post and for trying to support us with the solution. As @adamschroeder said, feel free to comment in issue # 3719 if you have questions. As we said on GitHub, Plotly’s software relies on map data supplied by third parties; however, we are actively working on a solution that will allow you to choose other maps, and hope to announce it shortly. We will post details in the community forum and relevant GitHub issues soon.
Thanks,
@gvwilson (Engineering Manager, Libraries Team, Plotly)

3 Likes