解决报错:使用seaborn绘制计数图时出现错误:ValueError: s must be a scalar, or the same size as x and y(图文并茂版!!)

Posted 温柔且上进c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决报错:使用seaborn绘制计数图时出现错误:ValueError: s must be a scalar, or the same size as x and y(图文并茂版!!)相关的知识,希望对你有一定的参考价值。

报错信息

       •当我们在使用下述seaborn代码绘制计数图时,可能会出现下述报错!!
代码如下:

sns.stripplot(x=df_counts.cty
              , y=df_counts.hwy
              , size=df_counts.counts * 25  # 出现错误的代码行
              , ax=ax
              )

错误显示:

ValueError: s must be a scalar, or the same size as x and y

在这里插入图片描述

问题分析

       •问题描述: size这个参数的值必须是标量,或者与x和y的大小相同(意思是size参数的值必须是一个固定不变的值!!!)
       •计数图的作用就是显示大小不同的点用来代表不同点的数量多少,所以size后的值肯定是不一样的,但是当我们size的值不同时就会出现上述错误!!!
       •所以当size后面的值不同时,一定会出现上述报错!!

解决方法

       •size这个参数的值不同时,一定会出现报错,我们换个思路,size这个参数不能使用不同的值,那我们换一个参数就可以了!!即我们换一个与size作用相同的参数即可解决!!!
       •只需要将上述代码中的size替换成sizes即可解决问题

sizes=df_counts.counts*25

正确代码:

sns.stripplot(x=df_counts.cty
              , y=df_counts.hwy
              , sizes=df_counts.counts * 25  # 将size替换成可以使用不同值的参数sizes
              , ax=ax
              )

图像显示:
在这里插入图片描述

总结

       •只需要将size参数替换成sizes即可解决此报错!!!
       •只需要将size参数替换成sizes即可解决此报错!!!
       •只需要将size参数替换成sizes即可解决此报错!!!

以上是关于解决报错:使用seaborn绘制计数图时出现错误:ValueError: s must be a scalar, or the same size as x and y(图文并茂版!!)的主要内容,如果未能解决你的问题,请参考以下文章

使用 d3.js 和 TypeScript 绘制饼图时出现编译错误

当我在 plotly 中绘制气泡图时出现错误

python使用matplotlib绘制多个子图时出现标题轴标签等文字重叠的解决

通过循环绘制多个计数图

第二次调用函数绘制图表时出现Amcharts5错误

如何使用 seaborn 绘制每个离散变量的计数(这里计数不仅仅是频率,而是定义的值)[关闭]