Faceted Scatter Plot
Climate Sensitivity by Region
Faceted temperature-CO2 regression across global regions
Output
Python
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
np.random.seed(321)
regions = ['Arctic', 'Temperate', 'Tropical', 'Antarctic']
data = []
for region in regions:
n = 40
co2 = np.random.uniform(300, 420, n)
sensitivities = {'Arctic': 0.025, 'Temperate': 0.012, 'Tropical': 0.008, 'Antarctic': 0.018}
temp_anomaly = sensitivities[region] * (co2 - 280) - 0.3 + np.random.normal(0, 0.2, n)
for c, t in zip(co2, temp_anomaly):
data.append({'CO2 (ppm)': c, 'Temp Anomaly (°C)': t, 'Region': region})
df = pd.DataFrame(data)
plt.style.use('dark_background')
sns.set_style("darkgrid", {
'axes.facecolor': '#0a0a0f',
'figure.facecolor': '#0a0a0f',
'grid.color': '#333333'
})
palette = ['#27D3F5', '#6CF527', '#F5B027', '#F527B0']
g = sns.lmplot(
data=df,
x='CO2 (ppm)',
y='Temp Anomaly (°C)',
hue='Region',
col='Region',
col_wrap=2,
height=3.5,
aspect=1.2,
palette=palette,
scatter_kws={'alpha': 0.7, 's': 50, 'edgecolor': 'white', 'linewidths': 0.5},
line_kws={'linewidth': 2.5},
ci=95
)
g.fig.set_facecolor('#0a0a0f')
for ax in g.axes.flat:
ax.set_facecolor('#0a0a0f')
for spine in ax.spines.values():
spine.set_color('#333333')
g.fig.suptitle('Regional Climate Sensitivity', fontsize=14, fontweight='bold', color='white', y=1.02)
plt.tight_layout()
plt.show()
Library
Matplotlib
Category
Pairwise Data
More Faceted Scatter Plot examples
☕