Back to Seaborn

Categorical

doc/_tutorial/categorical.ipynb

0.13.23.2 KB
Original Source
python
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
sns.set_theme(style="ticks", color_codes=True)
np.random.seed(sum(map(ord, "categorical")))
python
tips = sns.load_dataset("tips")
sns.catplot(data=tips, x="day", y="total_bill")
python
sns.catplot(data=tips, x="day", y="total_bill", jitter=False)
python
sns.catplot(data=tips, x="day", y="total_bill", kind="swarm")
python
sns.catplot(data=tips, x="day", y="total_bill", hue="sex", kind="swarm")
python
sns.catplot(data=tips.query("size != 3"), x="size", y="total_bill")
python
sns.catplot(data=tips.query("size != 3"), x="size", y="total_bill", native_scale=True)
python
sns.catplot(data=tips, x="smoker", y="tip", order=["No", "Yes"])
python
sns.catplot(data=tips, x="total_bill", y="day", hue="time", kind="swarm")
python
sns.catplot(data=tips, x="day", y="total_bill", kind="box")
python
sns.catplot(data=tips, x="day", y="total_bill", hue="smoker", kind="box")
python
tips["weekend"] = tips["day"].isin(["Sat", "Sun"])
sns.catplot(data=tips, x="day", y="total_bill", hue="weekend", kind="box")
python
diamonds = sns.load_dataset("diamonds")
sns.catplot(
    data=diamonds.sort_values("color"),
    x="color", y="price", kind="boxen",
)
python
sns.catplot(
    data=tips, x="total_bill", y="day", hue="sex", kind="violin",
)
python
sns.catplot(
    data=tips, x="total_bill", y="day", hue="sex",
    kind="violin", bw_adjust=.5, cut=0,
)
python
sns.catplot(
    data=tips, x="day", y="total_bill", hue="sex",
    kind="violin", split=True,
)
python
sns.catplot(
    data=tips, x="day", y="total_bill", hue="sex",
    kind="violin", inner="stick", split=True, palette="pastel",
)
python
g = sns.catplot(data=tips, x="day", y="total_bill", kind="violin", inner=None)
sns.swarmplot(data=tips, x="day", y="total_bill", color="k", size=3, ax=g.ax)
python
titanic = sns.load_dataset("titanic")
sns.catplot(data=titanic, x="sex", y="survived", hue="class", kind="bar")

The default error bars show 95% confidence intervals, but (starting in v0.12), it is possible to select from a number of other representations:

python
sns.catplot(data=titanic, x="age", y="deck", errorbar=("pi", 95), kind="bar")
python
sns.catplot(data=titanic, x="deck", kind="count")
python
sns.catplot(
    data=titanic, y="deck", hue="class", kind="count",
    palette="pastel", edgecolor=".6",
)
python
sns.catplot(data=titanic, x="sex", y="survived", hue="class", kind="point")
python
sns.catplot(
    data=titanic, x="class", y="survived", hue="sex",
    palette={"male": "g", "female": "m"},
    markers=["^", "o"], linestyles=["-", "--"],
    kind="point"
)
python
sns.catplot(
    data=tips, x="day", y="total_bill", hue="smoker",
    kind="swarm", col="time", aspect=.7,
)
python
g = sns.catplot(
    data=titanic,
    x="fare", y="embark_town", row="class",
    kind="box", orient="h",
    sharex=False, margin_titles=True,
    height=1.5, aspect=4,
)
g.set(xlabel="Fare", ylabel="")
g.set_titles(row_template="{row_name} class")
for ax in g.axes.flat:
    ax.xaxis.set_major_formatter('${x:.0f}')