解决seaborn报错ValueError: zero-size array to reduction

首先说结论:错在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',
#    hue='var3',
    data=dataset,
)

果然,当我把matplotlib从3.3.1替换成3.2.2,这段代码就不报错了。可能是matplotlib最新版本有bug,因为seaborn是基于matplotlib建立的。

你可能感兴趣的:(python,plt,sns)