Heatmap on Folium with Pandas( pandas 叶上的热图)
本文介绍了 pandas 叶上的热图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下语法,无法实现我正在尝试的操作:
df_bedarf = pd.read_csv('C:/Users/xxxxxx/Desktop/xxxxx/xxxxxx.csv', sep = ";")
df_bedarf.head()
df_locations = df_bedarf[["Latitude", "Longitude"]]
location_list = df_locations.values.tolist()
location_list_size= len(location_list)
## Creating a Points Map
map_points = folium.Map(location = [47.57087, 13.43828], zoom_start = 7)
for point in range(0, location_list_size):
folium.Circle(
location = location_list[point],
popup=df_bedarf["Suburb"][point] + ": " + df_bedarf["Sort"][point],
radius = 10000, blur = 10000,
min_opacity =0.3,
gradient = {.3: "yellow", .6: "orange", 1: "red"},
max_zoom =1,
).add_to(map_points)
map_points
我希望渐变的颜色变得更红,t/a越高。
CSV头部如下:
Unnamed: 0 Suburb Sort t/a Latitude Longitude
0 0 Wien CC 2272 48.201900 16.370000
1 1 Graz LD 426 47.079675 15.420325
2 2 Feldbach LD 248 46.952187 15.888309
3 3 Zerlach RE 2041 46.944865 15.650902
4 4 Gnas SM 1488 46.874198 15.826138
相反,我的地图上只有蓝色圆圈。 我必须更改什么才能获得根据数量(t/a)改变颜色的圆形
提前感谢并致以问候
它应该看起来像这样:
推荐答案
更改每个标记的颜色的最简单方法是对数值列使用bin分类功能,并为该数值设置所需的颜色名称。如果要增加颜色数,请增加存储箱和标签。
import pandas as pd
import numpy as np
import io
data = '''
Suburb Sort t/a Latitude Longitude
0 Wien CC 2272 48.201900 16.370000
1 Graz LD 426 47.079675 15.420325
2 Feldbach LD 248 46.952187 15.888309
3 Zerlach RE 2041 46.944865 15.650902
4 Gnas SM 1488 46.874198 15.826138
'''
df_locations = pd.read_csv(io.StringIO(data), delim_whitespace=True)
colors = pd.cut(df_locations['t/a'], bins=4, labels=['hotpink', 'tomato', 'red', 'crimson'])
colors = colors.to_list()
df_locations
Suburb Sort t/a Latitude Longitude marker_color
0 Wien CC 2272 48.201900 16.370000 crimson
1 Graz LD 426 47.079675 15.420325 hotpink
2 Feldbach LD 248 46.952187 15.888309 hotpink
3 Zerlach RE 2041 46.944865 15.650902 crimson
4 Gnas SM 1488 46.874198 15.826138 red
map_points = folium.Map(location = [47.57087, 13.43828], zoom_start = 7)
for idx, row in df_locations.iterrows():
folium.Circle(
location = [row['Latitude'], row['Longitude']],
popup=row["Suburb"] + ": " + row["Sort"],
radius = 10000,
# blur = 10000,
color=colors[idx],
fill_color=colors[idx],
# min_opacity=0.3,
# max_zoom=1,
).add_to(map_points)
map_points
这篇关于 pandas 叶上的热图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:pandas 叶上的热图
基础教程推荐
猜你喜欢
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01