0

我必须绘制具有 DateTime 和 GPS 坐标信息的数据。举个例子:

2013-03-01 19:55:00     45.4565    65.6783
2013-03-01 01:40:00     46.3121    -12.3456
2013-03-02 11:25:00     23.1234    -85.3456
2013-03-05 05:00:00     15.4565    32.1234
......   

这只是一个与我拥有的数据类型匹配的随机示例。整个数据集为一周,时间戳四舍五入到最接近的 5 分钟。

我想在 python 中做的是将这些数据可视化为整个一周内每 24 小时的位置模式。因此,x 轴将有一天中的时间。我正在努力解决如何显示该位置的问题。可能需要 3D 绘图。

它将以不同的颜色显示每一天,并且整个星期的平均值还会显示一个(即整个星期平均为 24 小时)。

知道如何使用 python 和 matplotlib 将其可视化吗?

请注意,我现在无法绘制实际地图的位置。但就像 (x,y) 坐标一样。

4

1 回答 1

2

尝试使用 Folium 的 HeatMap with Time。首先,您定义一个函数来生成地图。

def generateBaseMap(default_location, default_zoom_start=12):
    base_map = folium.Map(location=default_location, control_scale=True, zoom_start=default_zoom_start)
    return base_map

然后在按日期排序的列表中添加纬度和经度。

date_list = []
for date in df.date.sort_values().unique():
    date_list.append(df.loc[df.date == date, ['lat', 'lng']].values.tolist())

然后你用时间绘制热图

from folium.plugins import HeatMapWithTime

base_map = generateBaseMap(default_zoom_start=11, default_location = [lat, longitude])
HeatMapWithTime(date_list, radius=5, gradient={0.2: 'blue', 0.4: 'lime', 0.6: 'orange', 1: 'red'}, min_opacity=0.5, max_opacity=0.8, use_local_extrema=True).add_to(base_map)
base_map

希望这可以帮助。

于 2020-02-12T08:06:32.603 回答