matplotlib Seaborn中的线图是“spikey”

zbq4xfa0  于 2023-05-01  发布在  其他
关注(0)|答案(1)|浏览(165)

我是非常新的海运,我正在策划销售随着时间的推移,为多种流派的游戏。当我把它们标在一起时,看起来seaborn对数据进行了归一化,但我希望y轴显示未归一化的全球销售额。为了避免这种情况,我尝试将sns.lineplot()中的估计器设置为None
当我将估计器设置为=None时,我的数据突然变得“spikey”。我最初认为也许我的数据集每年都有多个值,或者因为某种原因可能有一些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()

q3qa4bjr

q3qa4bjr1#

“尖峰”/锯齿/鲨鱼鳍模式是因为每个数据点都是在estimator=None时绘制的。对于每个x值,每个数据点沿着垂直段绘制直到最大值。然后,线下降到下一个x值的最低值,然后再次垂直上升,击中每个数据点,直到该x值的最大值。这一点在他们的文件中也有提及。
如果绘制标记,这一点会更加明显:

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')

相关问题