【发布时间】:2022-01-03 03:21:34
【问题描述】:
如果我需要进行特定更改或面向细节的可视化,我已经学会不使用 seaborn,但我觉得有时我没有充分利用它所提供的功能。
- 我有一系列二维切片来绘制集群成员关系。
- 问题出在案例之间,存在的集群数量发生变化,这导致 seaborn 在每个案例中重置调色板,导致不同集群使用相同的颜色。
我想专门为 seaborn 指定调色板。我不确定我是否只是遗漏了什么,或者这是使用 facetgrid 时无法解决的细节?
df = pd.DataFrame()
df['I'] = np.full(20,1)
df['J'] = np.arange(0,20,1)
df['K'] = [1]*12 + [2]*8
df['CM_Hard'] = [1]*10 + [2] + [0] + [2]*8
df['Realization'] = ['p25']*10 + ['p50']*9 + ['p75']
for layer in df['K'].unique():
layer_data_slice = df.groupby('K').get_group(layer)
g = sns.FacetGrid(layer_data_slice, col="Realization",hue="CM_Hard")
g.map_dataframe(sns.scatterplot, x="I", y="J", s=50, marker='+', palette='deep')
g.add_legend()
g.fig.suptitle("Training Realizations, Layer: {}".format(int(layer)), size=16, y=1.05)
figure_title = 'Training_Layer_{}'.format(int(layer))
我尝试将以下内容用于调色板定义,但它不会影响绘图:
palette = {0:"tab:cyan", 1:"tab:orange", 2:"tab:purple"}
已尝试使用“tab:color”、“color”和 RGB 参考,但没有成功。没有错误,更改后它根本不做任何事情。
【问题讨论】:
-
注意我的答案的更新。
标签: python seaborn scatter-plot facet-grid palette