如何在seaborn.catplot中更改标记大小

时间:2019-10-24 19:50:21

标签: python-3.x seaborn markers

enter image description here所以我有这段代码可以生成绘图:

g=sns.catplot(data=public, x="age", y="number", col="species", kind="strip",
              jitter=True, order=order,
              palette=palette, alpha=0.5,linewidth=3,height=6, aspect=0.7)

如何更改标记大小?

size=20行为异常,似乎缩放了绘图区域,而不是更改标记的大小。我得到:

'。conda-envs / py3 / lib / python3.5 / site-packages / seaborn / categorical.py:3692:UserWarning:size参数已重命名为height;请更新您的代码。   warnings.warn(msg,UserWarning'

3 个答案:

答案 0 :(得分:2)

使用s代替大小。默认值为5。

示例:

sns.catplot(x = "time",
       y = "total_bill",
        s = 20,
       data = tips)

enter image description here

sns.catplot(x = "time",
       y = "total_bill",
        s = 1,
       data = tips)

enter image description here

答案 1 :(得分:1)

sns.stripplot中的参数'size'与已弃用的sns.catplot的'size'之间存在冲突,因此当您将'size'传递给后者时,它将覆盖'height'参数并显示您看到的警告消息。

解决方法

通过查看源代码,我发现在sns.stripplot中's'是'size'的别名,因此以下内容可以按您的预期工作:

g=sns.catplot(data=public, x="age", y="number", col="species", kind="strip",
              jitter=True, order=order, s=20,
              palette=palette, alpha=0.5, linewidth=3, height=6, aspect=0.7)

答案 2 :(得分:0)

根据catplot doc https://seaborn.pydata.org/generated/seaborn.catplot.html,您正在使用的基础strip记录在这里:https://seaborn.pydata.org/generated/seaborn.stripplot.html#seaborn.stripplot

报价:

  

大小:浮动,可选

     

标记的直径(以磅为单位)。 (尽管使用plt.scatter来绘制点,但此处的size参数是“正常”的标记大小,而不是plt.scatter那样的size ^ 2)。

因此size=20似乎是给catplot的完美有效参数。或任何其他适合您需要的值。

使用上面提供的seaborn文档页面中的屏幕复制面食代码...

import seaborn as sns

sns.set(style="whitegrid")
tips = sns.load_dataset("tips")
ax = sns.stripplot(x=tips["total_bill"])

ax = sns.stripplot("day", "total_bill", "smoker", data=tips, palette="Set2", size=20, marker="D", edgecolor="gray",
                   alpha=.25)

enter image description here

size=8 enter image description here