matplotlib / matplotlib/basemap
Hollow markers are not transparent
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 817
- Forks
- 395
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Hello,
When I tried to plot hollow markers on the map, the marker is actually filled, not transparent. See this map below:

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).
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza ejecutando la reproducción proporcionada en Python con las versiones indicadas de Basemap y matplotlib, centrándote en el punto de entrada m.plot y en los marcadores huecos, semirrellenos y completamente rellenos. Compara la salida renderizada con la transparencia esperada descrita en el issue y, a continuación, verifica que los marcadores huecos se rendericen sin relleno mientras los demás estilos de marcador permanezcan sin cambios.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- data-visualization
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100