2011-12-20 22 views
5

Vorrei ottenere una trama distribuzione di densità come questo density http://www.nicolacarlon.it/out.png con il canale alfa al posto del canale blu come questo density http://www.nicolacarlon.it/out2.pngtrasparente colormap

Ho trovato questo codice ma non funziona :(

theCM = cm.get_cmap() 
    theCM._init() 
    alphas = np.abs(np.linspace(-1.0, 1.0, theCM.N)) 
    theCM._lut[:-3,-1] = alphas 
    plt.imshow(img, cmap=theCM) 
    plt.savefig("out.svg", transparent=True) 
+0

cosa produce 'out.svg'? che cosa c'è che non va? – Yann

+0

Produce la prima immagine. – EnneKappa

+0

Se scrivo theCM = cm.get_cmap ('hvs') ottengo un'immagine con normale hvs colormap :( – EnneKappa

risposta

2

Questo è un bug con la classe Colormap di matplotlib, esiste nelle versioni 0.99.x di matplotlib, ma è stato risolto a 1.x. Vedere lo bug fix per una descrizione di come è stato risolto. versione e questo problema dovrebbe essere risolto. Non c'è un problema intorno a questo bug, quindi upg rading è l'unica opzione.

+0

Funziona con plt.imshow (img, cmap = theCM, alpha = None) – EnneKappa