我想在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])
不会导致所需的输出:
答案 0 :(得分:3)
发现this thread希望改变小提琴图的总体alpha值,看来您需要从斧头访问matplotlib.PolyColections才能设置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,...]
输出:
答案 1 :(得分:0)