2011-12-20 22 views
5

Tôi muốn để có được một âm mưu phân phối mật độ như density http://www.nicolacarlon.it/out.png này với kênh alpha thay vì các kênh màu xanh như thế này density http://www.nicolacarlon.it/out2.pngTransparent colormap

tôi tìm thấy mã này, nhưng nó không làm việc :(

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

sản phẩm 'out.svg' sản xuất ra cái gì? có gì sai với nó? – Yann

+0

Tạo hình ảnh đầu tiên. – EnneKappa

+0

Nếu tôi viết CM = cm.get_cmap ('hvs') tôi nhận được một hình ảnh với hvs bình thường colormap: ( – EnneKappa

Trả lời

2

Đây là lỗi với lớp Colormap của matplotlib. Nó tồn tại trong phiên bản 0.99.x của matplotlib, nhưng đã được sửa thành 1.x. Xem bug fix để biết mô tả về cách nó được sửa. Phiên bản và vấn đề này nên được cố định. Không có một công việc xung quanh cho lỗi này, do đó, upg rading là lựa chọn duy nhất.

+0

Làm việc với plt.imshow (img, cmap = theCM, alpha = None) – EnneKappa

Các vấn đề liên quan