1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ni1o1-pygeo-tutorial

 / Детали:

Улучшение визуализации доступности города

Предстоит сделать
Владелец
Создано  
02.12.2024
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()

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/ni1o1-pygeo-tutorial.git
git@api.gitlife.ru:oschina-mirror/ni1o1-pygeo-tutorial.git
oschina-mirror
ni1o1-pygeo-tutorial
ni1o1-pygeo-tutorial