我在将等高线图显示在 mplleaflet 地图上时遇到问题。我相当肯定这是因为我不确定如何告诉 mplleaflet 在地图上将等高线图定位在哪里。所以,问题是如何做到这一点。
下面我根据此处找到的代码构建了以下简单示例: https ://github.com/jwass/mplleaflet/blob/master/examples/contour.py 。
虽然该示例的作者已经确定了他的坐标参考系,但我一直无法这样做。例子:
import matplotlib.pyplot as plt
import mplleaflet
import pandas as pd
# Fictional lon/lat data in pandas data frame:
df= {'Lat': pd.Series([40.0,40.0,40.0,41.0,41.0,41.0,42.0,42.0,42.0]),
'Lon': pd.Series([-69.0,-70.0,-71.0,-69.0,-70.0,-71.0,-69.0,-70.0,-71.0]),
'Val': pd.Series([0,1,2,0,1,0,2,2,1])}
df=pd.DataFrame(df)
#Change indices, unstack, and sort:
df.set_index(['Lat','Lon'],inplace=True)
df=df.unstack()
df.sort_index(axis=0,inplace=True)
df.sort_index(axis=1,inplace=True)
#Extract data, make a contour plot
g=df['Val']
plt.contour(g.columns.values,g.index.values,g)
#Define the crs - completely wrong I know, but what to do?
crs= {'lon_0': -105.0,
'lat_ts': 60.0,
'R': 6371200,
'proj': 'stere',
'units': 'm',
'lat_0': 90.0}
现在,毫不奇怪,当我执行命令时:
mplleaflet.show(crs=crs)
一张空白的世界地图出现了——我的等高线图无处可寻。当然,这很可能是因为 mycrs
的定义不正确。有谁知道如何去做,甚至弄清楚如何在 python 中设置参数。我还可以补充一点,实际上没有关于如何执行此操作的 Python 文档。
最好的,
马特
ps 我在 Windows 7 中运行 Python 3.4,我也无法在https://github.com/jwass/mplleaflet/blob/master/examples/contour.py上获得示例。