绘制时间和位置坐标

时间:2013-03-11 14:02:01

标签: python matplotlib data-visualization

我必须绘制具有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)坐标一样。

1 个答案:

答案 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

希望这会有所帮助。