【问题标题】:Folium Heatmaps叶热图
【发布时间】:2020-08-01 16:38:41
【问题描述】:

Folium 中的热图

我有一个包含房屋交易数据(关于房屋、位置和价格的元数据)的数据框。

我想在 folium 中制作一个热图,代表价格,而不是默认的频率。因此,交易价格高的区域会变得更加有色,反之亦然。

有人知道吗?我最好的猜测是将价格表示为行数,例如如果一排是一个价格单位,而房子以 5 个单位出售,那么我需要将该行复制 5 次。但这根本不够计算友好(如果可能的话)。

谢谢!

这是我的数据的表示:

data = pd.DataFrame({"house_id" : [1, 2, 3, 4],
                     "latitude": [55.83, 55.79, 55.86, 55.85],
                     "longitude": [12.05, 12.10, 12.07, 12.09],
                     "price": [2000, 2100, 1500, 4500]})

这里是我用来使用 Folium 生成热图的代码,它现在根据位置在#rows 方面出现的频率来产生“热度”..

from folium import plugins
from folium.plugins import HeatMap

heat_data = [[row['latitude'],row['longitude']] for index, row in data.iterrows()]
map = folium.Map(location=[55.838913, 12.055415], zoom_start = 13)

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

# Display the map
map

【问题讨论】:

  • 请提供您的代码和数据。谢谢。
  • 谢谢@sentece。我现在已经提供了数据和代码。
  • 我不认为热图是正确的解决方案。也许您需要选择另一种方式来可视化您的信息。如果你想可视化每行的信息,也许你应该用标记做一些简单的事情。否则,您应该使用某种聚类,以便对信息进行分组,然后通过等值线图将其可视化。
  • 是的,也许你是对的@sentence。标记可以通过探测器使用 alpha 和颜色代码来处理分级和有序价格范围类别。

标签: python pandas geospatial folium


【解决方案1】:
#Import the Lib
from folium.plugins import HeatMap

#Make the list of Lat an Lng
lat = data.latitude.tolist()
lng = data.longitude.tolist()

#Create the Map
map = folium.Map(
    location=[55.838913, 12.055415],
    tiles='cartodbdark_matter',
    zoom_start=11
)
HeatMap(list(zip(lat, lng))).add_to(map)
map

【讨论】:

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