Сюжет: напишите числа на хороплетах США.

Для математического задания я работаю над распределением Коллегии выборщиков США и распределением избирателей. Я решаю LP, чтобы переопределить это распределение в соответствии с нынешним населением в каждом штате.

Теперь я хочу нанести свои результаты на карту США. Для этого я использовал Plotly. Вот мой код:

import plotly.graph_objects as go

locations = ["AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY",
             "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND",
             "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WV", "WA", "WI", "WY"]
colors = [8.0, 3.0, 11.0, 5.0, 61.0, 9.0, 6.0, 3.0, 3.0, 33.0, 17.0, 3.0, 3.0, 20.0, 11.0, 5.0, 5.0, 7.0, 8.0, 3.0,
          10.0, 11.0, 16.0, 9.0, 5.0, 10.0, 3.0, 3.0, 5.0, 3.0, 14.0, 4.0, 31.0, 16.0, 3.0, 19.0, 7.0, 7.0, 20.0, 3.0,
          8.0, 3.0, 11.0, 44.0, 5.0, 3.0, 14.0, 12.0, 3.0, 9.0, 3.0]


fig = go.Figure(data=go.Choropleth(locations=locations, locationmode="USA-states", z=colors, colorscale="Reds"))

fig.update_layout(
    geo = dict(
        scope='usa',
        projection=go.layout.geo.Projection(type = 'albers usa')))
fig.show()

Моя проблема в том, что я не могу записать количество выборщиков в каждом штате (я знаю, что цвет указывает количество выборщиков, но это требование, чтобы количество выборщиков было написано в каждом штате)

Кто-нибудь знает, как я могу написать количество избирателей по каждому штату? Спасибо !


person Yoann A.    schedule 21.03.2020    source источник


Ответы (1)


Вы можете наложить на картограмму scattergeo, как в примере ниже.

import plotly.graph_objects as go

locations = ["AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS",
             "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC",
             "ND", "OH", "OK", "OR", "PA", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WV", "WA", "WI", "WY"]

electors = [8, 3, 11, 5, 61, 9, 6, 3, 3, 33, 17, 3, 3, 20, 11, 5, 5, 7, 8, 3, 10, 11, 16, 9, 5, 10, 3, 3, 5, 3, 14,
            4, 31, 16, 3, 19, 7, 7, 20, 3, 8, 3, 11, 44, 5, 3, 14, 12, 3, 9, 3]

layout = dict(font=dict(size=8), geo=dict(scope="usa", projection=dict(type="albers usa")))

data = []

data.append(go.Choropleth(locations=locations, z=electors, locationmode="USA-states", colorscale="Reds"))
data.append(go.Scattergeo(locations=locations, text=electors, locationmode="USA-states", mode="text"))

fig = go.Figure(data=data, layout=layout)

fig.show()

введите описание изображения здесь

person Flavia Giammarino    schedule 19.04.2020