font - plt title python
Los marcadores de matplotlib desaparecen cuando edgecolor=''ninguno'' (3)
Estoy tratando de hacer un diagrama de dispersión de algunos datos de PCA. Hago un código bastante típico:
plt.plot(pca[:,0], pca[:,1], ''.'',ms=3, markerfacecolor = self.colors[k],
markeredgecolor = ''none'')
Quiero que muestre solo el color de la cara del marcador sin contorno. El problema es que los marcadores desaparecen completamente cuando markeredgecolor = ''none''. Cuando configuro markerfacecolor = ''none'' o un color y elimino markeredgecolor, funciona como se esperaba.
Acabo de actualizar matplotlib, numpy, etc. a las versiones más recientes, que se ejecutan en Python 2.7.
Gracias por tu ayuda.
Creo que este es un error que se solucionó hace unos meses: https://github.com/matplotlib/matplotlib/pull/598
Independientemente de qué tan grandes sean los marcadores o si usas marker=''o''
lugar de ''.''
, serán invisibles si usas markeredgecolor=''none''
.
Como solución alternativa, puede establecer los colores de los bordes al mismo que los colores de la cara.
En matplotlib 1.1
>> plt.plot(pca[:,0], pca[:,1], ''.'', ms=3, markerfacecolor=self.colors[k],
... markeredgecolor=None)
funciona (tenga en cuenta que None
lugar de ''ninguno'' para markeredgecolor).
La configuración de markeredgewidth=0.0
o markeredgecolor=self.colors[k]
(como lo sugiere Joe Kington) también debería funcionar.
Prueba esto:
x = np.array(np.random.rand(10))
y = np.array(np.random.rand(10))
c = np.arange(len(x))
plt.scatter(x,y, c=c, s=500, cmap = plt.cm.Paired, alpha = 0.5,linewidths=0)
O, esta es una buena opción también:
plt.scatter(x,y, c=c, s=500, cmap = plt.cm.Paired, alpha = 0.5,edgecolor=''face'')