doc/_docstrings/objects.Plot.on.ipynb
%config InlineBackend.figure_format = "retina"
import seaborn as sns
import seaborn.objects as so
import matplotlib as mpl
import matplotlib.pyplot as plt
from seaborn import load_dataset
diamonds = load_dataset("diamonds")
p = so.Plot(diamonds, "carat", "price").add(so.Dots())
f, ax = plt.subplots()
p.on(ax).show()
f = plt.figure()
p.on(f).show()
f = mpl.figure.Figure()
p.on(f).plot()
f = mpl.figure.Figure()
res = p.on(f).plot()
ax = f.axes[0]
rect = mpl.patches.Rectangle(
xy=(0, 1), width=.4, height=.1,
color="C1", alpha=.2,
transform=ax.transAxes, clip_on=False,
)
ax.add_artist(rect)
ax.text(
x=rect.get_width() / 2, y=1 + rect.get_height() / 2,
s="Diamonds: very sparkly!", size=12,
ha="center", va="center", transform=ax.transAxes,
)
res
f = mpl.figure.Figure(figsize=(7, 4), dpi=100, layout="constrained")
sf1, sf2 = f.subfigures(1, 2)
p.on(sf1).plot()
(
so.Plot(diamonds, x="price")
.add(so.Bars(), so.Hist())
.facet(row="cut")
.scale(x="log")
.share(y=False)
.on(sf2)
)