Linear Regression Plot
Height vs Weight Correlation
Anthropometric measurements relationship analysis
Output
Python
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
np.random.seed(411)
BG_COLOR = '#ffffff'
TEXT_COLOR = '#1f2937'
n = 100
height = np.random.normal(170, 10, n)
weight = 0.8 * height - 70 + np.random.normal(0, 8, n)
df = pd.DataFrame({'Height (cm)': height, 'Weight (kg)': weight})
fig, ax = plt.subplots(figsize=(10, 6), facecolor=BG_COLOR)
ax.set_facecolor(BG_COLOR)
sns.regplot(
data=df,
x='Height (cm)',
y='Weight (kg)',
scatter_kws={'color': '#4927F5', 'alpha': 0.6, 's': 55, 'edgecolor': 'white', 'linewidths': 0.5},
line_kws={'color': '#F5276C', 'linewidth': 2.5},
ci=95,
ax=ax
)
for collection in ax.collections[1:]:
collection.set_facecolor('#F5276C')
collection.set_alpha(0.15)
corr = np.corrcoef(height, weight)[0, 1]
ax.text(0.05, 0.95, 'r = %.3f' % corr, transform=ax.transAxes, fontsize=12,
color='#F5276C', fontweight='bold', va='top',
bbox=dict(boxstyle='round,pad=0.3', facecolor='#f8fafc', edgecolor='#e5e7eb'))
ax.set_xlabel('Height (cm)', fontsize=12, color=TEXT_COLOR, fontweight='500')
ax.set_ylabel('Weight (kg)', fontsize=12, color=TEXT_COLOR, fontweight='500')
ax.set_title('Height vs Weight Relationship', fontsize=14, color=TEXT_COLOR, fontweight='bold', pad=15)
ax.tick_params(colors='#374151', labelsize=10)
for spine in ax.spines.values():
spine.set_color('#e5e7eb')
plt.tight_layout()
plt.show()
Library
Matplotlib
Category
Pairwise Data
More Linear Regression Plot examples
☕