0

我有三个名为A, B, C. 我想使用 matplotlib 底图将它们绘制在地图上。

station A: latitude=17.8 longitude=74.48
station B: latitude=-25.02 longitude=25.60
station C: latitude=44.58 longitude=-123.30

由于我是 python 和 matplotlib 的新手,我很困惑我应该如何绘制它。

我尝试了代码:

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

plt.figure(figsize=(8, 8))
m = Basemap(projection='ortho', resolution=None, lat_0=50, lon_0=-100)
m.bluemarble(scale=0.5);

但它没有绘制我的任何电台。所以我希望专家可以帮助我。提前致谢。

4

1 回答 1

1

这是一个基于您可能会玩弄的数据的示例:

import pygmt
import pandas as pd

# create df with station information
data = {'lon':[74.48, 25.60, -123.30],
        'lat':[17.8, -25.02, 44.58],
        'station':['A', 'B', 'C']}

df = pd.DataFrame(data)

fig = pygmt.Figure()
pygmt.config(MAP_GRID_PEN = '0.25p,gray')

fig.grdimage("@earth_day_10m", region="g", projection="G130/50/12c", frame="g")
fig.plot(x = df.lon, y = df.lat, style = "t1c", color = "red3", pen = "1p,white")
fig.show()

第一次使用 PyGMT 时,用户指南和图库示例中的教程是一个很好的起点!

在此处输入图像描述

于 2021-11-19T12:41:25.680 回答