Python绘制轨迹密度

Python绘制轨迹密度,python,dictionary,contour,Python,Dictionary,Contour,我正在研究轨道,我想画一张轨道的“密度图” 下面是一个只有4条轨迹的代码示例,我可以使用它在底图上绘制轨迹 import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.basemap import Basemap map = Basemap(projection="merc",resolution="i",llcrnrlat=25,urcrnrlat=65,llcrnrlon=-100,urcrnrlon=-55)

我正在研究轨道,我想画一张轨道的“密度图”

下面是一个只有4条轨迹的代码示例,我可以使用它在底图上绘制轨迹

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.basemap import Basemap

map = Basemap(projection="merc",resolution="i",llcrnrlat=25,urcrnrlat=65,llcrnrlon=-100,urcrnrlon=-55) 
map.bluemarble()

dico={}
dico["traj1"]=[[27.5, -86.5], [35.5, -85.0], [40.5, -84.0], [45.5, -82.5], [46.0, -81.5], [47.5, -79.5], [48.5, -78.0], [49.5, -76.0], [51.0, -75.0]]
dico["traj2"]=[[27.5, -88.5], [35.5, -92.5], [40.5, -97.5], [45.5, -93.5], [48.5, -90.0], [53.5, -95.0], [57.0, -100.0], [55.5, -102.0], [53.5, -101.5]]
dico["traj3"]=[[27.5, -88.5], [33.5, -88.0], [34.0, -86.5], [34.0, -84.5], [34.0, -82.0], [34.0, -80.0], [34.0, -78.5], [34.0, -77.5], [32.5, -77.0]]
dico["traj4"]=[[27.5, -86.5], [35.5, -82.5], [40.5, -77.5], [45.5, -78.5], [47.5, -77.5], [47.0, -76.0], [46.0, -73.0], [45.5, -70.5], [45.5, -66.5]]

for i in range(0,4) :
    lons_values=[item[1] for item in dico["traj"+str(i+1)]]
    lats_values=[item[0] for item in dico["traj"+str(i+1)]]

    z,t = map(lons_values, lats_values)
    map.plot(z, t, linewidth=3.5,color=np.random.rand(3,1))
有人知道如何用轮廓画一个包络线来描述轨迹的主要模式吗?例如,如果我有100条轨迹,我想可视化不同的轮廓,颜色表示轨迹在此路径中的“集中”


如果我们认为轨迹的每一点对应于一个时间步长,如果关于时间步长的信息(如跨越时间点T的每个点的等值线)也可以出现在地图上,那么这将是很好的(从而节省时间和空间的信息)。.

我使用
seaborn
模块找到了问题的解决方案:

我使用了
sns.kdeplot(df['x'],df['y'],shade=True)
来获得绘图。然后我不得不把它投射到地图上

您可以通过以下链接找到我使用的教程: