font python matplotlib python-2.7 markers

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'')