Базовая карта m.scatter, не позволяющая точкам появляться на карте и сохранять цвет заливки - PullRequest
0 голосов
/ 02 мая 2020

У меня есть Python код:

m = Basemap(projection='tmerc',
            llcrnrlon=-10.56,
            llcrnrlat=51.39,
            urcrnrlon=-5.34,
            urcrnrlat=55.43,
            resolution='h',
            epsg=29902)

# Fill the globe with blue color
m.drawmapboundary(fill_color='aqua')

# Draw country boundaries
m.drawcountries()

# Fill the continents with the land color
m.fillcontinents(color='coral', lake_color='aqua')

m.drawcoastlines()

lons = [-7.637558, -5.926437, -6.266155]
lats = [54.350155, 54.607868, 53.350140]

x, y = m(lons, lats)

m.scatter(x, y, marker='D', color='m')

plt.show()

Когда я запускаю его, точки не появляются на моей карте. Если я добавлю zorder=0 к fillcontinents, они появятся, но вся карта будет aqua цвета. Если у меня нет zorder=0 и я использую m.plot вместо m.scatter, точки отображаются, но между ними появляются линии, которые c мне не нужны.

Как мне получить точки появляются самостоятельно, но сохраняют цвет fillcontinents?

Возможное решение

Я добавил zorder=2 к m.scatter. Это самый Pythoni c способ сделать это?

m = Basemap(projection='tmerc',
            llcrnrlon=-10.56,
            llcrnrlat=51.39,
            urcrnrlon=-5.34,
            urcrnrlat=55.43,
            resolution='h',
            epsg=29902)

# Fill the globe with blue color
m.drawmapboundary(fill_color='aqua')

# Draw country boundaries
m.drawcountries()

# Fill the continents with the land color
m.fillcontinents(color='coral', lake_color='aqua')

m.drawcoastlines()

lons = [-7.637558, -5.926437, -6.266155]
lats = [54.350155, 54.607868, 53.350140]

x, y = m(lons, lats)

m.scatter(x, y, marker='D', color='m', zorder=2)

plt.show()

1 Ответ

0 голосов
/ 03 мая 2020

Я добавил zorder=2 к m.scatter. Это самый Pythoni c способ сделать это?

m = Basemap(projection='tmerc',
            llcrnrlon=-10.56,
            llcrnrlat=51.39,
            urcrnrlon=-5.34,
            urcrnrlat=55.43,
            resolution='h',
            epsg=29902)

# Fill the globe with blue color
m.drawmapboundary(fill_color='aqua')

# Draw country boundaries
m.drawcountries()

# Fill the continents with the land color
m.fillcontinents(color='coral', lake_color='aqua')

m.drawcoastlines()

lons = [-7.637558, -5.926437, -6.266155]
lats = [54.350155, 54.607868, 53.350140]

x, y = m(lons, lats)

m.scatter(x, y, marker='D', color='m', zorder=2)

plt.show()
...