Matplotlib 从交互式python绘图创建子绘图

Matplotlib 从交互式python绘图创建子绘图,matplotlib,lidar,python-interactive,Matplotlib,Lidar,Python Interactive,我有一些hdf5格式的LVIS激光雷达数据 数据具有纬度坐标和长坐标,因此我能够使用底图在地图上显示它们: f = h5py.File('ILVIS1B_GA2016_0304_R1701_043591.h5','r') LONG = f['/LON0/'] LAT = f['/LAT0/'] X = LONG[...] Y = LAT[...] m = Basemap(projection='merc',llcrnrlat=-0.5,urcrnrlat=0.5,\ ll

我有一些hdf5格式的LVIS激光雷达数据

数据具有纬度坐标和长坐标,因此我能够使用底图在地图上显示它们:

f = h5py.File('ILVIS1B_GA2016_0304_R1701_043591.h5','r')

LONG = f['/LON0/']
LAT = f['/LAT0/']


X = LONG[...]
Y = LAT[...]

m = Basemap(projection='merc',llcrnrlat=-0.5,urcrnrlat=0.5,\
        llcrnrlon=9,urcrnrlon=10,lat_ts=0.25,resolution='i')
m.drawcoastlines()
m.drawcountries()
parallels = np.arange(-9.,10.,0.5)
m.drawparallels(parallels,labels=[False,True,True,False])
meridians = np.arange(-1.,1.,0.5)
m.drawmeridians(meridians,labels=[True,False,False,True])
m.drawmapboundary(fill_color='white')
x,y = m(X, Y)
scatter = plt.scatter(x,y)
m.scatter(x,y)
plt.show()
这让我明白了,橙色带是非常密集的点:

hdf5文件还具有每个映射点的完整波形数据(每个数据点是传感器检测到的反射,作为时间的函数),因此每个橙色点具有与之相关联的数据,如:

最终,我希望能够单击任何橙色点,并显示后续波形。为此,我研究了交互式绘图,并遇到了许多库(mpl3d、plotly等)

我很难理解其中的一些问题,以及如何将数据输入到示例中——我的python没有达到这个级别。有人对从哪里开始有什么建议吗?哪些库最适合这种情况?如果您能帮我了解一些基本知识,我们将不胜感激


抱歉这里没有直接的问题,我只是想了解一些来自知识社区的信息。

问题似乎是:我如何处理一项我不知道如何解决的任务

  • 步骤1:寻找可能的解决方案。可能有人已经解决了你的问题。大多数情况下不会是这样,但你可能很幸运
  • 步骤2:抽象任务。很多人可能会遇到的一般问题是什么,可能有解决办法?它需要是hdf5文件吗?不,地理参考重要吗?也许吧,但暂时可以忽略。哪些需求真正重要,哪些不重要
  • 第三步:再次搜索。现在,您将能够更成功地发现类似或相关的问题
  • 步骤4:查看正在使用的工具。列出可能的工具清单,并对照您的要求进行检查。交互性、应用程序或基于web的、准确性等
  • 第五步:决定使用一种工具并付诸实践。从一般案例研究开始。我可以使用此工具在左侧绘制地图并在右侧绘制图形吗?如果没有,请找出原因——可能这有一个普遍的问题,可能只是缺少一个实现细节。此时,您可能会询问有关案例研究问题的问题,指定正在使用的工具并提供给出问题的代码。在问题解决之前,不要考虑你的实际问题
  • 步骤6:继续并尝试添加交互性。单击时是否可以让某些事情发生?再次独立于实际问题来处理此问题。寻找解决方案,如果没有,问一个问题
  • 第七步:继续前进,直到你真正陷入困境。现在是最后一个问题的时候了,但是所有的细节都把你带到了问题的第7步

非常好的建议。我接受了你的建议,现在可以问一些具体的问题,集中在几行代码上。你给我的答案让我找到了我需要的要点。我用它来索引h5文件中我需要的行,并绘制我的绘图