Why am I getting a line shadow in a seaborn line plot?
Asked Answered
C

3

10

Here is the code:

fig=plt.figure(figsize=(14,8))
sns.lineplot(x='season', y='team_strikerate', hue='batting_team', data=overall_batseason)
plt.legend(title = 'Teams', loc = 1, fontsize = 12)
plt.xlim([2008,2022])

And here is the image enter image description here

Just to let you know, I've already drawn another similar lineplot above this one.

Callboard answered 14/7, 2020 at 14:31 Comment(1)
The "shadow" isn't a shadow but a confidence interval. Use ci=None to leave it out. seaborn.pydata.org/generated/seaborn.lineplot.htmlSkivvy
P
13

There is line shadow showing the confidence interval, because the dataset contains multiple y(team_strikerate) values for each x(season) value. By default, sns.lineplot() will estimate the mean by aggregating over multiple y values at each x value.

After aggregation, the mean of y values at each x value will be plotted as a line. The line shadow represents the 95% confidence interval of the estimate.


To remove the line shadow, you can pass the argument ci=None to sns.lineplot(). (credit to @JohanC for providing this idea in this question's comment)

To change the confidence interval, you can pass the argument errorbar=('ci', <int>) to sns.lineplot().

Paving answered 19/11, 2021 at 15:15 Comment(0)
P
1

The semi transparent region around the line is the confidence interval. You can remove the confidence interval by setting the ci parameter of the lineplot() function to None. refer this link for more info://wellsr.com/python/seaborn-line-plot-data-visualization/

Prescript answered 4/11, 2021 at 12:57 Comment(0)
Y
0

ci=None argument to remove the line shadow is deprecated. Use errorbar=None for the same effect.

Yokefellow answered 24/4 at 11:57 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.