亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否有從透明變為黑色(或任何其他顏色)的 cmap?

是否有從透明變為黑色(或任何其他顏色)的 cmap?

慕沐林林 2023-08-08 17:43:40
我cmap="binary"在帶有零和一的數據集上使用以下內容。cmap 從白色變為黑色。結果如下圖所示:黑白圖:因為我想將此圖與現有圖重疊,所以我想保留黑色但使白色透明。與白色重疊的圖像:有沒有從透明到黑色的cmap?我使用以下代碼來繪制圖表:plt.pcolor(mp1,cmap="binary",alpha=0.5)
查看完整描述

3 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

找到解決方案了!


            c_white = matplotlib.colors.colorConverter.to_rgba('white',alpha = 0)

            c_black= matplotlib.colors.colorConverter.to_rgba('black',alpha = 1)

            cmap_rb = matplotlib.colors.LinearSegmentedColormap.from_list('rb_cmap',[c_white,c_black],512)

            

            

            pl = plt.pcolor(mp1,cmap=cmap_rb)


查看完整回答
反對 回復 2023-08-08
?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

如果mp1只有值 0 和 1,中間沒有任何值,則可以屏蔽掉零并僅繪制零。np.where(mp1 == 1, 1, np.nan)只會顯示那些。使用vmin=0將確保 0 映射到“二元”顏色圖的白色,并將vmax=11 映射到黑色。


import matplotlib.pyplot as plt

import numpy as np


mp0 = np.random.randn(15, 30).cumsum(axis=1).cumsum(axis=0) # random backgroud

mp1 = np.zeros((15, 30)) # start with all zeros

mp1[np.random.randint(0, 15, 30), np.random.randint(0, 30, 30)] = 1 # set some random positions to 1


plt.pcolormesh(mp0, cmap='rainbow')

plt.pcolormesh(np.where(mp1 == 1, 1, np.nan), cmap='binary', vmin=0, vmax=1)


plt.tight_layout()

plt.show()

查看完整回答
反對 回復 2023-08-08
?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

定義自己的 RGBA 顏色圖并不太困難(來源)。例如,要定義具有線性變化透明度的黑色貼圖:


from matplotlib.colors import ListedColormap


cmap = np.zeros([256, 4])

cmap[:, 3] = np.linspace(0, 1, 256)

cmap = ListedColormap(cmap)

用法示例:


import numpy as np

import matplotlib.pyplot as plt

from matplotlib.colors import ListedColormap


x = 2 * np.pi * np.linspace(-1, 1, 100)


z = np.sin(x.reshape(1, -1) + x.reshape(-1, 1))


cmap = np.zeros([256, 4])

cmap[:, 3] = np.linspace(0, 1, 256)

cmap = ListedColormap(cmap)


plt.figure()

plt.pcolormesh(z + 1, cmap='bwr', edgecolors=None)

plt.pcolormesh(np.fliplr(z), cmap=cmap, edgecolors=None)

plt.savefig("temp")


查看完整回答
反對 回復 2023-08-08
  • 3 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號