我必须绘制具有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)坐标一样。
答案 0 :(得分:1)
尝试将Folium的HeatMap与时间配合使用。 首先,您定义一个函数来生成地图。
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
希望这会有所帮助。