【问题标题】:Folium heat map not appearing叶热图未出现
【发布时间】:2020-04-05 09:26:11
【问题描述】:

我曾尝试将我的代码同时放入 Jupyter notebook 和 Google Colab,但是一旦我解决了我的代码中的所有错误,我不会只是在输出中看到一个空白屏幕。当我在将热图数据集放在上面之前只使用地图运行代码时,它可以工作。我使用https://alysivji.github.io/getting-started-with-folium.html 来构建我的代码。 以下是数据集的链接: https://data.cityofnewyork.us/Public-Safety/NYPD-Arrest-Data-Year-to-Date-/uip8-fykc

我的完整代码如下。

here is what it looks like right now

import pandas as pd
pd.plotting.register_matplotlib_converters()
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
import numpy as np
import folium
from folium import features
from folium import plugins
from folium.plugins import HeatMap
from folium.plugins import MarkerCluster

print("Setup Complete")

crime_filepath = "arrestdata.csv"
crime_data = pd.read_csv (crime_filepath, index_col = "ARREST_DATE")
crime_data.head()


#this is the section that doesn't work
m = folium.Map([40.7128, -74.0060], zoom_start=10.3)
m #this and the line above properly creats a blank map
for index, row in crime_data.iterrows():
    folium.CircleMarker([row['Latitude'],row['Longitude']],
                        radius=15,
                        fill_color="#3db7e4",).add_to(m)

my_map = crime_data[['Latitude', 'Longitude']].values

m.add_child(plugins.HeatMap(my_map, radius=15))
m

【问题讨论】:

标签: pandas numpy jupyter-notebook heatmap folium


【解决方案1】:

我已经下载了您链接中的数据集,并设法获得了热图和标记集群。然而,在这种情况下,我确实只取了数据的一个子集 Robbery 只是为了检查代码是否有效,因为大小很重要。弹出窗口是数据框中的 ARREST_PRECINCT。我提供了两种方法来创建热图,因为您正在使用它们。

import pandas as pd
import folium
from folium import plugins
from folium.plugins import HeatMap
from folium.plugins import MarkerCluster

nypd_data = pd.re   ad_csv('NYPD_Arrest_Data__Year_to_Date_.csv')
 nypd_robbery = nypd_data.loc[nypd_data['OFNS_DESC']=='ROBBERY']
my_heatmap = folium.Map(location=[40.695792, -73.939096], zoom_start=8)

heat_data = [[row['Latitude'],row['Longitude']] for index, row in nypd_robbery.iterrows()]

# Plot it on the map
HeatMap(heat_data).add_to(my_heatmap)

# Display the map
my_heatmap

#or
my_map = folium.Map(location=[40.695792, -73.939096], zoom_start=8)
robbery_loc = nypd_robbery[['Latitude', 'Longitude']].values

# plot heatmap
my_map.add_child(plugins.HeatMap(robbery_loc, radius=15))
my_map

#MarkerCluster

map_rob = folium.Map(location=[40.695792, -73.939096], zoom_start=10, tiles='Stamen Terrain')

marker_cluster = folium.plugins.MarkerCluster().add_to(map_rob)
for index,row in nypd_robbery.iterrows():
lat = row["Latitude"]
lon = row["Longitude"]
name = row["ARREST_PRECINCT"]

folium.Marker([lat,lon],popup=name).add_to(marker_cluster)
map_rob

在此处输入代码

【讨论】:

    猜你喜欢
    • 2020-08-01
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    • 2019-12-31
    相关资源
    最近更新 更多