如何正确显示底图上的图?

时间:2019-08-20 16:08:04

标签: python matplotlib-basemap

我已经绘制了坐标,输出是这样的。但是我想在底图上显示这些图,但是我不知道该怎么做。我在网上看到了一些代码,但是当我使用它们时,输出并不是我想要的。 我已经使用这些代码来绘制坐标:

plt.figure(figsize=(8,6))
for evento, group in Final_data.groupby(['MMSI']):
    x = group.X.values
    y = group.Y.values
    plt.plot(x,y,linewidth=1.5 ,)
    plt.xlabel('X')
    plt.ylabel('Y')

the outout of my plots

我已使用以下代码在自己的地块下显示底图:

from mpl_toolkits.basemap import Basemap
fig = plt.figure(figsize=(6, 6))
m = Basemap(projection='lcc', resolution=None,
width=8E6, height=8E6,
lat_0=25, lon_0=-100)
m.etopo(scale=0.5, alpha=5)
m.plot(Final_data.X,Final_data.Y,color='red')

plots on basemap

您可以看到我在底图上的绘图不是说明性的。 我该怎么做才能在底图上正确显示绘图?

1 个答案:

答案 0 :(得分:0)

在此代码声明中,您需要正确的坐标转换:

m.plot(Final_data.X, Final_data.Y,color='red')

由于我对数据一无所知,所以让我建立一个点坐标(墨西哥湾)进行变换和绘图。

lat1,lon1 = [25.505915, -93.709812]

将座标(经度和纬度)转换为以米为单位的投影坐标,然后绘制位置的正确代码:

m.plot( *m(lon1,lat1), color='red')