Почему моя карта choropleth в python пуста? - PullRequest
0 голосов
/ 25 ноября 2018

Итак, я пытаюсь научиться составлять картограммы.Я использовал образец набора данных, но он выходит пустым.Пожалуйста, не могли бы вы взглянуть на это и сказать мне, что не так, потому что я перепроверил синтаксис и не понимаю, почему он не показывает мои данные.Я включил заголовок набора данных и код, который я написал, как показано ниже: screenshot of datahead

datia = dict(type = 'choropleth',
            locations = df['Names'],
            locationmode = 'USA-states',
            colorscale= 'Portland',
            text= df['Names'],
            z=df['2010-11'],
            colorbar = {'title':'Vaccine Coverage in percentage'})
layout = dict(title = 'Vaccine Coverage in percentage',
              geo = {'scope':'usa'})
choromap = go.Figure(data = [datia],layout = layout)
iplot(choromap, validate=False)

myemptymap

1 Ответ

0 голосов
/ 25 марта 2019

Вы должны дать сокращения СОСТОЯНИЯ (DC, AL, ...) вместо Имен.Я столкнулся с той же проблемой.Это сработало после изменения этого.Вы можете использовать следующий код для преобразования имен в сокращения

def convert_state_name(name):
    cd=str(name)
    us_state_abbrev = {
    "Alabama":"AL"
    "Alaska":"AK"
    "Arizona":"AZ"
    "Arkansas":"AR"
    "California":"CA"
    "Colorado":"CO"
    "Connecticut":"CT"
    "Delaware":"DE"
    "Washington DC":"DC"
    "Florida":"FL"
    "Georgia":"GA"
    "Hawaii":"HI"
    "Idaho":"ID"
    "Illinois":"IL"
    "Indiana":"IN"
    "Iowa":"IA"
    "Kansas":"KS"
    "Kentucky":"KY"
    "Louisiana":"LA"
    "Maine":"ME"
    "Maryland":"MD"
    "Massachusetts":"MA"
    "Michigan":"MI"
    "Minnesota":"MN"
    "Mississippi":"MS"
    "Missouri":"MO"
    "Montana":"MT"
    "Nebraska":"NE"
    "Nevada":"NV"
    "New Hampshire":"NH"
    "New Jersey":"NJ"
    "New Mexico":"NM"
    "New York":"NY"
    "North Carolina":"NC"
    "North Dakota":"ND"
    "Ohio":"OH"
    "Oklahoma":"OK"
    "Oregon":"OR"
    "Pennsylvania":"PA"
    "Rhode Island":"RI"
    "South Carolina":"SC"
    "South Dakota":"SD"
    "Tennessee":"TN"
    "Texas":"TX"
    "Utah":"UT"
    "Vermont":"VT"
    "Virginia":"VA"
    "Washington":"WA"
    "West Virginia":"WV"
    "Wisconsin":"WI"
    "Wyoming":"WY"
    return us_state_abbrev[cd]

df['STATE_CD'] = df.Names.apply(lambda x:convert_state_name(x)) 

Наконец, вы можете заменить location = df ['Names'] на местоположения = df ['STATE_CD']

Надеюсь, это поможет.

...