10000 matplotlib potentially causing issues in basemap · Issue #13725 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
matplotlib potentially causing issues in basemap #13725
Closed
@jsh9

Description

@jsh9

Hello,

When I tried to plot hollow markers on the map using "basemap", the marker is actually filled, not transparent. See this map below:

image

Below is the code to reproduce this map:

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

lon_ll = -124.5  # lower left corner, longitude
lon_ur = -105.2  # upper right corner, longitude
lat_ll = 32.0    # lower left corner, latitude
lat_ur = 42.0    # upper right corner, latitude

f = plt.figure(dpi=100)
ax = plt.axes()

m = Basemap(llcrnrlon=lon_ll,llcrnrlat=lat_ll,
            urcrnrlon=lon_ur,urcrnrlat=lat_ur,\
            rsphere=(6378137.00,6356752.3142),\
            resolution='c',projection='merc',\
            lat_0=(lat_ll+lat_ur)/2,\
            lon_0=(lon_ll+lon_ur)/2,lat_ts=20.,
            epsg = 3310)

m.arcgisimage(service='World_Physical_Map', xpixels=120, epsg=3310, verbose=False)

m.drawstates()

LA = (34.05, -118.25)
LV = (36.175, -115.136389)
SF = (37.783333, -122.416667)
PH = (33.45, -112.066667)

ms = 15
alpha = 0.75

m.plot(*m(LV[1], LV[0]), marker='s', ms=ms,
       ls='none', mew=1.25,c='blue', fillstyle='none', alpha=alpha)
m.plot(*m(LA[1], LA[0]), marker='o', ms=ms,
       ls='none', mew=1.25,c='red', fillstyle='right', alpha=alpha)
m.plot(*m(PH[1], PH[0]), marker='o', ms=ms,
       ls='none', mew=1.25,c='green', fillstyle='full', alpha=alpha)
m.plot(*m(SF[1], SF[0]), marker='o', ms=ms,
       ls='none', mew=1.25,c='cyan', fillstyle='left', alpha=alpha,
       markerfacecoloralt='white')

horiz_offset = 0.6  # unit: degrees
plt.text(*m(LA[1] + horiz_offset, LA[0]), 'Los Angeles')
plt.text(*m(LV[1] + horiz_offset, LV[0]), 'Las Vegas')
plt.text(*m(SF[1] + horiz_offset, SF[0]), 'San Francisco')
plt.text(*m(PH[1] + horiz_offset, PH[0]), 'Phoenix')

The markers for Los Angeles and Las Vegas should have been hollow (on the left side for LA, and fully for LV), but they are not. For half-full markers, such as the marker for San Francisco, I can set the markerfacecoloralt to other colors, but not for fully open markers.

  • Operating system: Windows 10
  • Python version: 3.6.6
  • Basemap version: both 1.1.0 and 1.2.0 have this issue
  • matplotlib version: 2.2.2

Note that I used to not have this issue some time ago, with older versions of matplotlib (I don't remember which).

==========================
I post this issue originally here: matplotlib/basemap#455, and a matplotlib developer said the issue was in matplotlib.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0