Слияние кода завершено, страница обновится автоматически
s = network.aggregate(500, type="count", decay="linear")
fig_kwargs = {'figsize': [20, 20]}
bmap_kwargs = {'suppress_ticks': False, 'resolution': 'h', 'epsg': '4326'}
plot_kwargs = {'cmap': 'BrBG', 's': 8, 'edgecolor': 'none'}
sf_bbox = [30.66, 120.85,31.89, 122.20]
bmap, fig, ax =network.plot(s, bbox=sf_bbox,
fig_kwargs=fig_kwargs, bmap_kwargs=bmap_kwargs, plot_kwargs=plot_kwargs)
ax.set_facecolor('k')
plt.axis("off")
plt.show()
Этот фрагмент кода не работает из-за удаления параметра bmap_kwargs в функции pandana (v0.6.1)network.plot(), а также из-за того, что функция больше не возвращает bmap. Если вам всё ещё нужно использовать функцию network.plot(), рекомендуется изменить код следующим образом:
s = network.aggregate(500, type="count", decay="linear")
plt.rcParams['axes.facecolor'] = 'black' # эта строка изменяет цвет фона всех осей
sf_bbox = [30.66, 120.85,31.89, 122.20]
fig,ax = network.plot(s,
bbox=sf_bbox,
fig_kwargs={'figsize': [20, 20]},
plot_kwargs={'cmap': 'BrBG', 's': 8, 'edgecolor': 'none'})# network.plot() хотя и имеет возвращаемое значение, но фактически уже рисует график
Во время экспериментов было обнаружено, что использование функции plt.savefig() для сохранения графиков, отображаемых в Jupyter notebook, не работает должным образом. Поскольку функция network.plot() интегрирована с интерфейсом matplotlib.scatter(), можно рассмотреть использование более простого, хотя и менее элегантного метода:
s = network.aggregate(500, type="count", decay="linear")
fig, ax = plt.subplots(figsize=(20,20))
# рисование точечной диаграммы
# s: размер маркера
# c: скаляр или последовательность из n чисел, которые будут сопоставлены с цветами с помощью cmap
# cmap: цветовая карта
plt.scatter(network.nodes_df.x, network.nodes_df.y,
c=s, s=4, cmap='BrBG')
# добавление цветовой полосы
cb = plt.colorbar()
cb.ax.tick_params(labelsize=20)
ax.set_title('Шанхай: горячие точки в пределах 500 м',fontsize=30)
ax.set_facecolor('black')
ax.set_xticks([]) # удаление меток оси x
ax.set_yticks([]) # удаление меток оси y
plt.savefig('hotpot.png',dpi=400) # dpi: разрешение
plt.show()
plt.close()