簡體   English   中英

在Seaborn中設置自定義調色板的Alpha值

[英]Setting the alpha value of a custom palette in seaborn

我正在修改在seaborn文檔中找到的一段代碼,以設計matplotlib和seaborn通用的調色板。 下面的代碼效果很好,但是,如果繪制許多點(在我的示例中為5000),則深色將主導圖表。 快速解決方案是將一種(或兩種)顏色的Alpha值設置得較低。

custom = ["#D1EC9C", "#F1EBF4"]
sns.set_palette(custom)
# construct cmap
my_cmap = ListedColormap(custom)

N = 5000
data1 = np.random.randn(N)
data2 = np.random.randn(N)
colors = np.linspace(0,1,N)
plt.scatter(data1, data2, c=colors, cmap=my_cmap)
plt.colorbar()
plt.show()

有人知道如何設置自定義Seaborn調色板的Alpha值嗎? 在此處輸入圖片說明 謝謝

您可以將Alpha設置為顏色圖中顏色的一部分:

custom = [(0xD1/0xFF, 0xEC/0xFF, 0x9C/0xFF, 1), (0xF1/0xFF, 0xEB/0xFF, 0xF4/0xFF, 0.5)]
my_cmap = mpl.colors.ListedColormap(custom)

在這里,我給第二個顏色的alpha為0.5。 您可以根據需要使用其他顏色。

請注意,seaborn在這里並沒有真正參與。 繪圖的顏色由您在顏色圖中傳遞的顏色確定。 seaborn的調色板沒有影響。 seaborn對繪圖的唯一影響是背景,軸,網格等的格式。

但是,正如我在評論中說的那樣,我相信僅對一種顏色使用alpha不會使您的繪圖看起來不錯。 如果一種顏色仍然是不透明的,它仍然會掩蓋另一種顏色的點,只是掩蓋得更多(因為現在另一種顏色將變得更暗)。 另外,如果您要使用Alpha(甚至可能不使用Alpha),則選擇的淺灰色可能也不是一個好主意,因為它與Seaborn提供的灰色背景相似,因此很難區分灰色點從灰色的背景。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM