簡體   English   中英

Seaborn 小提琴繪圖透明度

[英]Seaborn violinplot transparency

我想在 seaborn.violinplot 中使用越來越透明的小提琴。 我嘗試了以下方法:

import seaborn as sns

tips = sns.load_dataset("tips")

ax = sns.violinplot(x="day", y="total_bill", data=tips, color='r', alpha=[0.8, 0.6, 0.4, 0.2])

不會導致所需的 output:

在此處輸入圖像描述

發現此線程希望更改小提琴圖的一般 alpha 值,看來您需要從您的斧頭訪問 matplotlib.PolyCollections 甚至能夠設置 alpha 值,但由於您無論如何都需要訪問它們,您不妨設置單獨的 alpha 值(至少在您的情況下,因為您想要單獨的 alpha 值)。

據我了解,ax.collections 包含 matplotlib.PolyCollections 和 matplotlib.PathCollections,你似乎只需要 PolyCollections,所以我做了以下工作:

ax = sns.violinplot(x = 'day', y = 'total_bill', data = tips, color = 'r')
for violin, alpha in zip(ax.collections[::2], [0.8,0.6,0.4,0.2]):
    violin.set_alpha(alpha)

ax.collections[::2] 忽略 PathCollections,因為 ax.collections 的格式為 [PolyCollection1, PathCollection1, PolyCollection2, PathCollection2, ...]

Output:

在此處輸入圖像描述

根據同一線程更新。

更簡單的答案是:

plt.setp(ax.collections, alpha=.3)

暫無
暫無

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

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