import pandas as pd
import altair as alt
import seaborn as sns
from matplotlib import pyplot as plt
penguins = pd.read_csv("https://pos.it/palmer-penguins-github-csv")
penguins.groupby("species").size().reset_index(name = "count")
| 0 |
Adelie |
152 |
| 1 |
Chinstrap |
68 |
| 2 |
Gentoo |
124 |
colors = ["#FF8C00", "#A020F0", "#008B8B"]
sns.set_palette(colors, n_colors = 3)
penguins["bill_ratio"] = (
penguins["bill_length_mm"] / penguins["bill_depth_mm"]
)
sns.displot(penguins,
x = "bill_ratio",
hue = "species",
kind = "kde", fill = True, aspect = 2, height = 3)
plt.show()
sns.displot(penguins,
x = "bill_depth_mm",
hue = "species",
kind = "kde", fill = True,
aspect = 2, height = 3)
plt.show()
sns.displot(penguins,
x = "bill_length_mm",
hue = "species",
kind = "kde", fill = True,
aspect = 2, height = 3)
plt.show()
Figure 1: Marginal distributions of bill dimensions
scale = alt.Scale(domain = ['Adelie', 'Chinstrap', 'Gentoo'],
range = colors)
alt.Chart(penguins).mark_circle(size=60).encode(
alt.X('bill_length_mm',
scale=alt.Scale(zero=False)
),
alt.Y('bill_depth_mm',
scale=alt.Scale(zero=False)
),
color = alt.Color('species', scale = scale),
tooltip=['species', 'sex', 'island']
)