<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 There are three main plot kinds; in addition to histograms and kernel density estimates (KDEs), you can also draw empirical cumulative distribution functions (ECDFs)
Step1:  While in histogram mode, it is also possible to add a KDE curve
Step2:  To draw a bivariate plot, assign both x and y
Step3:  Currently, bivariate plots are available only for histograms and KDEs
Step4:  For each kind of plot, you can also show individual observations with a marginal "rug"
Step5:  Additional keyword arguments are passed to the appropriate underlying plotting function, allowing for further customization
<ASSISTANT_TASK:>
Python Code:
sns.displot(data=penguins, x="flipper_length_mm", kind="ecdf")
Explanation: There are three main plot kinds; in addition to histograms and kernel density estimates (KDEs), you can also draw empirical cumulative distribution functions (ECDFs):
End of explanation
sns.displot(data=penguins, x="flipper_length_mm", kde=True)
Explanation: While in histogram mode, it is also possible to add a KDE curve:
End of explanation
sns.displot(data=penguins, x="flipper_length_mm", y="bill_length_mm")
Explanation: To draw a bivariate plot, assign both x and y:
End of explanation
sns.displot(data=penguins, x="flipper_length_mm", y="bill_length_mm", kind="kde")
Explanation: Currently, bivariate plots are available only for histograms and KDEs:
End of explanation
g = sns.displot(data=penguins, x="flipper_length_mm", y="bill_length_mm", kind="kde", rug=True)
sns.displot(data=penguins, x="flipper_length_mm", hue="species", kind="kde")
Explanation: For each kind of plot, you can also show individual observations with a marginal "rug":
End of explanation
sns.displot(data=penguins, x="flipper_length_mm", hue="species", multiple="stack")
sns.displot(data=penguins, x="flipper_length_mm", hue="species", col="sex", kind="kde")
sns.displot(
    data=penguins, y="flipper_length_mm", hue="sex", col="species",
    kind="ecdf", height=4, aspect=.7,
)
g = sns.displot(
    data=penguins, y="flipper_length_mm", hue="sex", col="species",
    kind="kde", height=4, aspect=.7,
)
g.set_axis_labels("Density (a.u.)", "Flipper length (mm)")
g.set_titles("{col_name} penguins")
Explanation: Additional keyword arguments are passed to the appropriate underlying plotting function, allowing for further customization:
End of explanation
<END_TASK>