Seabornの散布図で凡例を二系列に分けつつマーカーサイズを定量的に指定したい。

次のように s= を用いてマーカーサイズを指定するとマーカーサイズを定量的に指定できますが、凡例を二系列に分けることができません。

python

import seaborn as sns import matplotlib.pylab as plt x=["a","b","c","d","e","f"]y=[1,2,3,4,5,6]h=[0,0,-1,-1,+1,+1]s=[10,11,12,10,11,12]sns.scatterplot(x=x, y=y, hue=h, s=s, legend="full")# s でマーカーサイズを指定 10,11,12

イメージ説明

python

import seaborn as sns import matplotlib.pylab as plt x=["a","b","c","d","e","f"]y=[1,2,3,4,5,6]h=[0,0,-1,-1,+1,+1]s=[10,50,250,10,50,250]sns.scatterplot(x=x, y=y, hue=h, s=s, legend="full")# s でマーカーサイズを指定 10,50,250

イメージ説明

一方で size= を用いてマーカーサイズを指定すると凡例を二系列に分けることができますが、マーカーサイズを定量的に指定できません(大小関係のみ)。

python

import seaborn as sns import matplotlib.pylab as plt x=["a","b","c","d","e","f"]y=[1,2,3,4,5,6]h=[0,0,-1,-1,+1,+1]s=[10,11,12,10,11,12]sns.scatterplot(x=x, y=y, hue=h, size=s, legend="full")# size でマーカーサイズを指定 10,11,12

イメージ説明

python

import seaborn as sns import matplotlib.pylab as plt x=["a","b","c","d","e","f"]y=[1,2,3,4,5,6]h=[0,0,-1,-1,+1,+1]s=[10,50,250,10,50,250]sns.scatterplot(x=x, y=y, hue=h, size=s, legend="full")# size でマーカーサイズを指定 10,50,250

イメージ説明
両立するにはどうすれば良いでしょうか?

コメントを投稿

0 コメント