Faceted Scatter Plot
Automotive Efficiency by Powertrain
Efficiency-emissions tradeoff across automotive powertrains
Output
Python
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
np.random.seed(888)
fuels = ['Gasoline', 'Diesel', 'Hybrid', 'Electric']
data = []
for fuel in fuels:
n = 40
efficiency = np.random.uniform(15, 60, n)
emission_factors = {'Gasoline': -3.5, 'Diesel': -2.8, 'Hybrid': -1.5, 'Electric': -0.3}
emissions = 250 + emission_factors[fuel] * efficiency + np.random.normal(0, 15, n)
emissions = np.clip(emissions, 0, 300)
for ef, em in zip(efficiency, emissions):
data.append({'Efficiency (mpg)': ef, 'CO2 (g/mi)': em, 'Fuel Type': fuel})
df = pd.DataFrame(data)
sns.set_style("whitegrid", {
'axes.facecolor': '#ffffff',
'figure.facecolor': '#ffffff',
'grid.color': '#eeeeee'
})
palette = ['#9C2007', '#4927F5', '#6CF527', '#27D3F5']
g = sns.lmplot(
data=df,
x='Efficiency (mpg)',
y='CO2 (g/mi)',
hue='Fuel Type',
col='Fuel Type',
col_wrap=2,
height=3.5,
aspect=1.2,
palette=palette,
scatter_kws={'alpha': 0.75, 's': 55, 'edgecolor': 'white', 'linewidths': 0.6},
line_kws={'linewidth': 2.5},
ci=95
)
g.fig.set_facecolor('#ffffff')
for ax in g.axes.flat:
ax.set_facecolor('#ffffff')
for spine in ax.spines.values():
spine.set_color('#dddddd')
g.fig.suptitle('Powertrain Environmental Impact', fontsize=14, fontweight='bold', color='#1a1a1a', y=1.02)
plt.tight_layout()
plt.show()
Library
Matplotlib
Category
Pairwise Data
More Faceted Scatter Plot examples
☕