首先说结论:错在matplotlib,降低它的版本就好。
在使用seaborn完成机器学习绘图时,产生了一个很奇怪的报错,我的使用的代码如下:
import seaborn
as sns
sns
.scatterplot
(
x
='var1',
y
='var2',
hue
='var3',
data
=dataset
,
)
在执行上述代码时,检验了数据集、数据逻辑等无误的情况下,还是会有如下报错:
ValueError
: zero
-size array to reduction operation minimum which has no identity
尝试了很多网上的办法,还是没有效果,更换了很多seaborn库的版本,也不行,最后偶然发现,注释掉hue这个参数,就可以正常运行了。因此,猜测很可能不是我的数据集或逻辑问题,也不是seaborn包的问题,可能是和其他的绘图库产生了冲突。
sns
.scatterplot
(
x
='var1',
y
='var2',
data
=dataset
,
)
果然,当我把matplotlib从3.3.1替换成3.2.2,这段代码就不报错了。可能是matplotlib最新版本有bug,因为seaborn是基于matplotlib建立的。