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])
哪个 不会 导致所需的输出:
发现 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] 忽略路径集合,因为 ax.collections 的格式为 [PolyCollection1, PathCollection1, PolyCollection2, PathCollection2, ...]
输出:
同thread更新。
更简单的答案是:
plt.setp(ax.collections, alpha=.3)
我希望 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])
哪个 不会 导致所需的输出:
发现 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] 忽略路径集合,因为 ax.collections 的格式为 [PolyCollection1, PathCollection1, PolyCollection2, PathCollection2, ...]
输出:
同thread更新。
更简单的答案是:
plt.setp(ax.collections, alpha=.3)