Correlogram
Property Market Correlogram
Property characteristics correlogram by neighborhood type
Output
Python
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
np.random.seed(654)
n = 160
neighborhood = np.random.choice(['Downtown', 'Suburban', 'Rural'], n)
data = {
'Price ($K)': np.where(neighborhood == 'Downtown', np.random.normal(800, 200, n),
np.where(neighborhood == 'Suburban', np.random.normal(450, 100, n), np.random.normal(250, 80, n))),
'Size (sqft)': np.where(neighborhood == 'Downtown', np.random.normal(1200, 300, n),
np.where(neighborhood == 'Suburban', np.random.normal(2200, 500, n), np.random.normal(2800, 600, n))),
'Age (yrs)': np.where(neighborhood == 'Downtown', np.random.normal(50, 20, n),
np.where(neighborhood == 'Suburban', np.random.normal(25, 10, n), np.random.normal(15, 8, n))),
'Lot (acres)': np.where(neighborhood == 'Rural', np.random.normal(2, 1, n),
np.where(neighborhood == 'Suburban', np.random.normal(0.3, 0.1, n), np.random.normal(0.05, 0.02, n))),
'Area': neighborhood
}
df = pd.DataFrame(data)
sns.set_style("whitegrid", {'axes.facecolor': '#ffffff', 'figure.facecolor': '#ffffff', 'grid.color': '#eeeeee'})
palette = {'Downtown': '#C82909', 'Suburban': '#27D3F5', 'Rural': '#6CF527'}
g = sns.pairplot(
df,
hue='Area',
palette=palette,
height=2,
kind='scatter',
diag_kind='hist',
markers=['s', 'o', '^'],
plot_kws={'alpha': 0.7, 's': 55, 'edgecolor': 'white', 'linewidths': 0.6},
diag_kws={'alpha': 0.6, 'edgecolor': 'white', 'linewidth': 0.5}
)
g.fig.set_facecolor('#ffffff')
for ax in g.axes.flat:
if ax:
ax.set_facecolor('#ffffff')
for spine in ax.spines.values():
spine.set_color('#dddddd')
ax.tick_params(colors='#666666')
ax.xaxis.label.set_color('#333333')
ax.yaxis.label.set_color('#333333')
g.fig.suptitle('Property Market Analysis', fontsize=14, fontweight='bold', color='#1a1a1a', y=1.02)
plt.tight_layout()
plt.show()
Library
Matplotlib
Category
Statistical
More Correlogram examples
☕