python-3.x - 如何改变seaborn displot的色彩饱和度?
问题描述
我已经安装了最新版本的 seaborn (0.11.1)。当我用自定义颜色绘制一个历史时,它显示的颜色与我预期的不同(参见 sns.palplot 的颜色)。对于某些 api,它有一个饱和参数,但对于 displot 没有。
dat_plots_mod = dat_plots.copy(deep=True)
dat_plots_mod.loc[dat_plots_mod.LDS == "FC", "LDS"] = "F"
palette = ["#9b59b6", "#ff0000", "#00f0f0", "#00ff00", "#000000", "#320ff0"]
sns.set_theme(style="ticks", font_scale=1.3)
g = sns.displot(
x="AgeRS",
hue="LDS",
data=dat_plots_mod,
palette=palette,
aspect=1.5,
)
g.set(ylabel="Number of samples", ylim=(0, 30))
解决方案
在这里,颜色变灰不是由于“饱和度”,而是由于“alpha”。你可以设置sns.displot(...., alpha=1)
.
import seaborn as sns
tips = sns.load_dataset('tips')
sns.displot(data=tips, x='total_bill', hue='day', palette=["#9b59b6", "#ff0000", "#00f0f0", "#00ff00"], alpha=1)
请注意,默认为相同的 x 值显示多个条形图是multiple='layer'
. 使用alpha=0.4
不同的层可以很容易地区分,而alpha=1
观看者可能会误以为条是堆叠的。
这是multiple='stack'
看起来的样子(注意较大的 y 值):
在这里multiple='dodge'
:
推荐阅读
- c - 文件存在时 Cmake 'check_include_files' 函数失败
- datepicker - 如何在 ng-bootstrap 日期选择器中突出显示自定义日期?
- c++ - 这个for循环的时间复杂度是多少(与`n`有关)?
- java - JPA 一对多级联
- python - 匹配来自不同来源的运动数据
- r - 在 R 中打印数据集所有列的唯一值
- css - 打印时出现数据问题
- c# - Swashbuckle 无法在 asp.net core 2.1 中加载 api 定义
- c++ - 是否可以在 VScode 中解决此问题?#pragma once 在主文件中 [-Wpragma-once-outside-header]
- python - 使用 pandas 阅读 readme.md 时遇到问题