library(ggplot2)
ggplot(mpg, aes(x = displ, y = hwy, color = class)) +
geom_point() +
geom_smooth(se = FALSE)
import matplotlib.pyplot as plt
import numpy as np
from seaborn import load_dataset
mpg = load_dataset("mpg")
classes = mpg["class"].unique()
colors = plt.cm.tab10.colors
plt.figure(figsize=(8,6))
for i, cls in enumerate(classes):
subset = mpg[mpg["class"] == cls]
plt.scatter(subset["displ"], subset["hwy"], color=colors[i], label=cls)
# regression line (numpy polyfit for each group)
z = np.polyfit(subset["displ"], subset["hwy"], 1)
p = np.poly1d(z)
plt.plot(subset["displ"], p(subset["displ"]), color=colors[i])
plt.xlabel("Displacement")
plt.ylabel("Highway MPG")
plt.legend(title="Class")
plt.show()
from plotnine import ggplot, aes, geom_point
from plotnine.data import mpg
(
ggplot(mpg, aes(x="displ", y="hwy", color="class"))
+ geom_point()
+ geom_smooth(se=False)
)
import altair as alt
from vega_datasets import data
mpg = data.cars()
points = alt.Chart(mpg).mark_point().encode(
x="Displacement",
y="Miles_per_Gallon",
color="Origin"
)
smooth = alt.Chart(mpg).transform_regression(
"Displacement", "Miles_per_Gallon"
).mark_line()
points + smooth
import seaborn.objects as so
from seaborn import load_dataset
mpg = load_dataset("mpg")
(
so.Plot(mpg, x="displ", y="hwy", color="class")
.add(so.Dot())
.add(so.Line(), so.PolyFit())
)