Я хотел бы создать карту хлороплетов с Боке.У меня есть готовый набор данных с департаментами Франции и их населением.Я также скачал шейп-файл французских департаментов.
После первого испытания я обнаружил, что мой поддон неправильно наносится на департаменты (некоторые темнее, чем другие с меньшей численностью населения).
Мне это показалось довольно странными установить одинаковое население во всех департаментах просто для проверки, и я обнаружил, что не все департаменты имеют одинаковый цвет!Найдите ниже мой код
data = gdf.join(df)
# apply same population per department
data.population = 5678
geo_src = bm.GeoJSONDataSource(geojson=data.to_json())
# set up a log colormap
cmap = bm.LogColorMapper(
palette=bokeh.palettes.Blues9[::-1], # reverse the palette
)
# define web tools
TOOLS = "pan,wheel_zoom,box_zoom,reset,hover,save"
# set up bokeh figure
p = figure(
title="Population",
tools=TOOLS,
toolbar_location="below",
x_axis_location=None,
y_axis_location=None,
width=800,
height=800
)
# remove the grid
p.grid.grid_line_color = None
# core part !
p.patches(
'xs', 'ys',
fill_alpha=0.7,
fill_color={'field': 'population', 'transform': cmap},
line_color='black',
line_width=0.5,
source=geo_src
)
# show plot
show(p)
Смотрите результат,
Я предполагаю, что эти темные отделы имеют формы перекрытия и Bokehприменил в два раза больше населения, делая их темнее ...
Я пытался найти способ удалить наложения из шейп-файла (пока не удается), но мне интересно, есть ли способ настроить Bokeh, чтобы спросить егоне суммировать совпадения?