设置海洋重印图例-色相值

时间:2020-10-01 15:45:01

标签: python seaborn

我分析了数据框中只有3个值,这些值是为relplot“ hue”参数设置的,但是seaborn绘制了一些具有5个值的自动范围色相图例。如何指定确切值?

sns.relplot(x='x', y='y', 
         hue = 'hue', style='style',
         kind='scatter', size = 'size', 
         data=df2)

          size style  hue   col             y             x
8     3.717546   1:1   50   715  1.930280e+06  4.932825e+06
24    7.165478   1:2   50   715  1.712680e+06  7.112875e+06
40    5.357067   2:1   50   715  1.148624e+06  2.494125e+06
56    2.758713   1:1   50   715  1.766268e+06  3.196175e+06
72    3.402869   1:2   50   715  9.385742e+05  4.046025e+06
88    3.160937   2:1   50   715  9.856859e+05  1.585155e+06
104   4.094309   1:1  250   715  8.416346e+06  7.944250e+07
120  39.287651   1:2  250   715  6.217049e+06  1.352370e+08
132   1.625882   1:1    5   715  5.055178e+04  5.062150e+04
148  35.241220   2:1  250   715  6.171461e+06  4.046025e+07
164   2.071234   1:1  250   715  6.038509e+06  2.697350e+07
180  13.498847   1:2  250   715  4.636012e+06  4.951300e+07
196   9.499857   2:1  250   715  4.012017e+06  1.322810e+07
212   4.166135   1:1    5  1545  6.218541e+05  6.244550e+05
228   4.979377   1:2    5  1545  6.864812e+05  7.316100e+05
244   4.127152   2:1    5  1545  3.558532e+05  3.565675e+05
257   2.516927   1:2    5   715  5.884268e+04  5.893525e+04
271   4.942125   1:1    5  1545  4.836641e+05  4.840450e+05

因此,“ style”,“ hue”和“ col”有3个不同的值,图例显示的值从未出现在df2中,至少我想将hue图例固定为那里的值:[5 ,50,250]

this is how plot looks

1 个答案:

答案 0 :(得分:0)

在您的情况下,seaborn认为色相是一个连续变量。您需要更改它。一种方法是更改​​数据帧,例如,通过将hue列转换为字符串。

df['hue'] = df['hue'].map(lambda x: str(x))

或者,可以强制seaborn来将“色相”直接视为分类随机变量(但根据我的经验,它表现为故障)。请插入relplot个关键字。

hue_order = np.unique(df['hue'])
相关问题