Я добавляю несколько seaborn
scatterplot
s к одной оси и хочу убедиться, что размер точки соответствует одному и тому же значению размера в каждой.
Например, предположим, что я хочу построить графиккурильщики отдельно от некурящих в наборе данных tips
, например, чтобы назначить различные значения alpha
, и которые я хочу определить в размере size
.Максимальное значение size
отличается для курящих и некурящих, поэтому размеры будут иметь разные значения:
import seaborn as sns
tips = sns.load_dataset("tips")
ax = sns.scatterplot(x="total_bill", y="tip", size="size", sizes=(10, 100),
data=tips[tips.smoker == "Yes"], alpha=0.8)
sns.scatterplot(x="total_bill", y="tip", size="size", sizes=(10, 100),
data=tips[tips.smoker == "No"], alpha=1.0, ax=ax)
tips.groupby('smoker')['size'].max()
# smoker
# Yes 5
# No 6
Passingсловарь, подобный sizes={1:10, 6:100}
, не работает, так как словарь требует указания всех уровней:
ValueError: отсутствуют размеры для следующих уровней: {2, 3, 4, 5}
Есть ли способ указать согласованную шкалу?