我试图在我的论文中保留一个单一的调色板,我注意到histplots的蓝色和countplots的蓝色略有不同,尽管我将它们设置为完全相同的十六进制值
是否有我遗漏的设置,或者这些不同的绘图是否只显示给定的十六进制?我尝试过使用countplot饱和度,但它与颜色不匹配。理想情况下,我的所有HistPlot都将具有与countplot相同的颜色(以及也使用countplot颜色的条形图)
下面是一个最低限度的代码示例:
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(rc={'figure.figsize':(20,10)}, font_scale=2)
plt.rcParams['axes.grid'] = False
titanic = sns.load_dataset('titanic')
fig, ax = plt.subplots(1,2)
sns.countplot(x="class", data=titanic, ax=ax[0], color='#5975a4')
sns.histplot(x="who", data=titanic, ax=ax[1], color='#5975a4')
它生成以下图形:
^{} 有一个饱和度参数(饱和度越高,颜色越“真实”,饱和度越低,颜色越接近灰色)。Seaborn在条形图中使用饱和度使默认颜色看起来“更平滑”。默认饱和度为
0.75
;可以将其设置为1
以获得“真实”颜色histplot
有一个alpha参数,使颜色半透明。颜色与背景混合,因此根据背景颜色的不同,颜色看起来也不同。在本例中,alpha
似乎默认为0.75
。因为这也有类似于饱和的效果,所以histplot
不使用饱和。当在同一子图中绘制多个直方图时,透明度特别有用要获得“真实”颜色,请将
countplot
的saturation
和histplot
的alpha
设置为1:PS:默认情况下,countplot仅使用宽度的80%,而直方图使用全宽度。如果需要,可以缩小直方图条,例如
sns.histplot(..., shrink=0.8)
,以获得与countplot
相同的宽度相关问题 更多 >
编程相关推荐