用于绘图的中心调色板 - Seaborn
centre palette for plotting - Seaborn
我希望使用有趣的颜色图将 seaborn 调色板居中。具体来说,我希望零表示分歧。但是,可能值分布不均。所以最小值和最大值与 0 的距离不同。因此,调色板不对齐。我仍然希望使用相同的调色板颜色,但将分歧集中在 0。
df = pd.DataFrame({
'Val' : ['A','A','A','A','A','A','A','A','A','A','A','A'],
'A_1' : [-5, 2, 3, 4, 5, 7, 1, -4, -2, 6, -1, 0],
})
g = sns.FacetGrid(df,
col = 'Val',
hue = 'A_1',
aspect = 1,
height = 5,
palette = 'BrBG',
sharex = False)
g.map(sns.swarmplot, 'Val', 'A_1')
很遗憾,您不能直接这样做。
有一种解决方法应该可以正常工作:seaborn's diverging palette。
它允许您创建您选择的调色板。您可以选择以与您想要的完全匹配的方式定位颜色。
文档中的示例非常好。另一个很好的例子:
我希望使用有趣的颜色图将 seaborn 调色板居中。具体来说,我希望零表示分歧。但是,可能值分布不均。所以最小值和最大值与 0 的距离不同。因此,调色板不对齐。我仍然希望使用相同的调色板颜色,但将分歧集中在 0。
df = pd.DataFrame({
'Val' : ['A','A','A','A','A','A','A','A','A','A','A','A'],
'A_1' : [-5, 2, 3, 4, 5, 7, 1, -4, -2, 6, -1, 0],
})
g = sns.FacetGrid(df,
col = 'Val',
hue = 'A_1',
aspect = 1,
height = 5,
palette = 'BrBG',
sharex = False)
g.map(sns.swarmplot, 'Val', 'A_1')
很遗憾,您不能直接这样做。
有一种解决方法应该可以正常工作:seaborn's diverging palette。
它允许您创建您选择的调色板。您可以选择以与您想要的完全匹配的方式定位颜色。
文档中的示例非常好。另一个很好的例子: