I want to plot a seaborn regplot
.
my code:
x=data['Healthy life expectancy']
y=data['max_dead']
sns.regplot(x,y)
plt.show()
However this gives me future warning error. How to fix this warning?
FutureWarning: Pass the following variables as keyword args: x, y. From version 0.12, the only valid
positional argument will be 'data', and passing other arguments without an explicit keyword will
result in an error or misinterpretation.
seaborn 0.12
, the FutureWarning
from seaborn 0.11
is now an TypeError
.data
may be specified as the first positional argument for seaborn plots. All other arguments must use keywords (e.g. x=
and y=
). This applies to all seaborn
plotting functions.
sns.*plot(data=penguins, x="bill_length_mm", y="bill_depth_mm")
or sns.*plot(penguins, x="bill_length_mm", y="bill_depth_mm")
sns.*plot(data=penguins.bill_length_mm)
or sns.*plot(penguins.bill_length_mm)
TypeError: *plot() takes from 0 to 1 positional arguments but 3 were given
occurs when no keywords are passed.
sns.*plot(penguins, "bill_length_mm", "bill_depth_mm")
TypeError: *plot() got multiple values for argument 'data'
occurs when data=
is used after passing x
and y
as positional arguments.
sns.*plot("bill_length_mm", "bill_depth_mm", data=penguins)
TypeError: *plot() takes from 0 to 1 positional arguments but 2 positional arguments (and 1 keyword-only argument) were given
occurs when positional arguments are passed for x
and y
, followed by a keyword argument other than data
sns.*plot(penguins.bill_length_mm, penguins.bill_depth_mm, kind="reg")
python
explanation.x
and y
parameters for seaborn.regplot
, or any of the other seaborn plot functions with this warning.sns.regplot(x=x, y=y)
, where x
and y
are parameters for regplot
, to which you are passing x
and y
variables.data
, will result in an error
or misinterpretation
.
x
and y
are used as the data variable names because that is what is used in the OP. Data can be assigned to any variable name (e.g. a
and b
).FutureWarning: Pass the following variable as a keyword arg: x
, which can be generated by plots only requiring x
or y
, such as:
sns.countplot(penguins['sex'])
, but should be sns.countplot(x=penguins['sex'])
or sns.countplot(y=penguins['sex'])
import seaborn as sns
import pandas as pd
penguins = sns.load_dataset('penguins')
x = penguins.culmen_depth_mm # or bill_depth_mm
y = penguins.culmen_length_mm # or bill_length_mm
# plot without specifying the x, y parameters
sns.regplot(x, y)
# plot with specifying the x, y parameters
sns.regplot(x=x, y=y)
# or use
sns.regplot(data=penguins, x='bill_depth_mm', y='bill_length_mm')
data
, and passing other arguments without an explicit keyword will result in an error or misinterpretation.import warnings
warnings.simplefilter(action="ignore", category=FutureWarning)
# plot without specifying the x, y parameters
sns.regplot(x, y)