Seaborn 中的线图是 "spikey"

Lineplot in Seaborn is "spikey"

我是 seaborn 的新手,我正在规划多种游戏类型的销售情况。当我将它们绘制在一起时,看起来 seaborn 正在规范化数据,但我希望我的 y 轴显示未规范化的全球销售价值。 为避免这种情况,我尝试将 sns.lineplot() 中的估算器设置为 None

当我将线图的估计器设置为 =None 时,我的数据突然变得全是“尖峰”。我首先想到,也许我的数据集每年都有多个值,或者出于某种原因其中可能有一些 0,但事实并非如此。对于某些类型,某些年份没有数据,但是它在每年数据的类型上出现“峰值”。

这里是没有禁用估算器...

plt.figure(figsize=(20,10))
sns.lineplot(data=line_df,x='Year',y='Global_Sales',hue='Genre',ci=None)
plt.show()

这里是当我禁用它并且线条变成“spikey”时...

plt.figure(figsize=(20,10))
sns.lineplot(data=line_df,x='Year',y='Global_Sales',hue='Genre',ci=None, estimator=None)
plt.show()

“尖峰”是因为每个数据点都用 estimator=None 绘制。对于每个 x-value,每个数据点都沿着垂直线段绘制到最大值。然后该线下降到下一个 x-value 中的最低值,然后垂直击中每个数据点,直到该 x-value.

的最大值

如果绘制标记,这会更明显:

flights = sns.load_dataset("flights")
sns.lineplot(data=flights, x="year", y="passengers")
sns.lineplot(data=flights, x="year", y="passengers", estimator=None, marker='o')