Seaborn ValueError:零大小数组到没有标识的最小化操作

Mar*_*ink 34 python pandas seaborn

我从他们自己的网站上运行了这个散点图 seaborn 示例,

import seaborn as sns; sns.set()
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")

# this works:
ax = sns.scatterplot(x="total_bill", y="tip", data=tips)

# But adding 'hue' gives the error below:
ax = sns.scatterplot(x="total_bill", y="tip", hue="time", data=tips)
Run Code Online (Sandbox Code Playgroud)

这个错误:

import seaborn as sns; sns.set()
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")

# this works:
ax = sns.scatterplot(x="total_bill", y="tip", data=tips)

# But adding 'hue' gives the error below:
ax = sns.scatterplot(x="total_bill", y="tip", hue="time", data=tips)
Run Code Online (Sandbox Code Playgroud)

昨天它确实起作用了。但是,我运行了使用conda update --all. 有什么改变了吗?

这是怎么回事?

我在 Linux 机器上运行 python。

Pandas:  1.1.0.
Numpy:   1.19.1.
Seaborn api:  0.10.1.
Run Code Online (Sandbox Code Playgroud)

Tre*_*ney 35

  • 此问题似乎已解决 matplotlib==3.3.2
  • seaborn:散点图失败,matplotlib==3.3.1 #2194
  • matplotlib版本3.3.1
  • 一种解决方法是发送listhue,通过使用.tolist()
    • 使用hue=tips.time.tolist().
  • 正常行为会title向图例添加 a ,但发送listtohue不会添加图例标题。
    • 图例标题可以手动添加。
import seaborn as sns

# load data
tips = sns.load_dataset("tips")

# But adding 'hue' gives the error below:
ax = sns.scatterplot(x="total_bill", y="tip", hue=tips.time.tolist(), data=tips)
ax.legend(title='time')  # add a title to the legend
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

  • 奇迹般有效!谢谢。 (2认同)

Mar*_*ink 8

conda install -c conda-forge matplotlib==3.3.0在 3.3.1 中运行了已知错误。

一个正确的答案,但不是一个很好的解决方案。