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 叶上的热图


基础教程推荐
猜你喜欢
- 修改列表中的数据帧不起作用 2022-01-01
- 在同一图形上绘制Bokeh的烛台和音量条 2022-01-01
- 使用大型矩阵时禁止 Pycharm 输出中的自动换行符 2022-01-01
- 无法导入 Pytorch [WinError 126] 找不到指定的模块 2022-01-01
- 包装空间模型 2022-01-01
- PermissionError: pip 从 8.1.1 升级到 8.1.2 2022-01-01
- 在Python中从Azure BLOB存储中读取文件 2022-01-01
- Plotly:如何设置绘图图形的样式,使其不显示缺失日期的间隙? 2022-01-01
- 求两个直方图的卷积 2022-01-01
- PANDA VALUE_COUNTS包含GROUP BY之前的所有值 2022-01-01