Я следую этому уроку:
У меня есть геозон уровня zcta для всего штата Нью-Йорк, отсюда:
Я хочу, чтобы хороплет был ограниченнекоторые значения в Гарлеме:
harlem = ["10026", "10027", "10030", "10037", "10039", "10029", "10035"]
df2 = df[df.zcta.isin(harlem)]
df2['C_pct'] = df2.C/df2.C.sum()
df2.head()
C zcta C_pct
89 40 10026 0.4
90 40 10027 0.4
91 20 10030 0.2
Однако, когда я делаю это, кажется, по умолчанию окрашивание всех почтовых индексов, не входящих в мой набор данных, как если бы они были 100%, а не как если бы они были 0%.
Я вижу из связанных вопросов , я правильно набираю поле "key_on", которое в данных взято из zcta, указанного в: "features.properties.ZCTA5CE10"
Мой звонок следующий:
ny_geo = 'ny_new_york_zip_codes_geo.min.json'
m.choropleth(
geo_data=ny_geo,
name='choropleth',
data=df2,
columns=['zcta', 'C_pct'],
key_on='feature.properties.ZCTA5CE10', # this matches the geojson
fill_color='YlGn',
reset=True,
legend_name='Configurations on 20170203'
)
И все же молнии не-Гарлемского цвета имеют цвет, хотя для них нет данных.
Как я могу это исправить?Например, почему Бруклин и Квинс зеленые, а не пустые?
(я понимаю, что должен быть обновлен синтаксис для geojson , который исключает функцию хороплета, но также не смог выразить это вв терминах чистой функции geojson () - ошибка, которая у меня возникла, была ключевой ошибкой «id», которую я никогда не вызывал, поэтому я предполагаю, что где-то неправильно использовал ключевое слово по умолчанию.)