Hexbin Plot
Astronomical Magnitude
Star catalog hexbin showing absolute vs apparent magnitude
Output
Python
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import LinearSegmentedColormap
np.random.seed(666)
abs_mag = np.random.normal(5, 3, 6000)
distance_mod = np.random.uniform(0, 15, 6000)
app_mag = abs_mag + distance_mod + np.random.normal(0, 0.5, 6000)
fig, ax = plt.subplots(figsize=(10, 8), facecolor='#030712')
ax.set_facecolor('#030712')
colors = ['#030712', '#0f172a', '#1e3a8a', '#2563eb', '#3b82f6', '#60a5fa', '#93c5fd', '#f0f9ff']
cmap = LinearSegmentedColormap.from_list('stellar', colors, N=256)
hb = ax.hexbin(abs_mag, app_mag, gridsize=30, cmap=cmap, mincnt=1, edgecolors='none')
cbar = plt.colorbar(hb, ax=ax, pad=0.02, shrink=0.8)
cbar.ax.set_facecolor('#030712')
cbar.outline.set_edgecolor('#1e3a8a')
cbar.ax.tick_params(colors='#93c5fd', labelsize=9)
cbar.set_label('Star Count', color='#93c5fd', fontsize=10)
ax.set_xlabel('Absolute Magnitude', color='#93c5fd', fontsize=11)
ax.set_ylabel('Apparent Magnitude', color='#93c5fd', fontsize=11)
ax.tick_params(colors='#93c5fd', labelsize=10)
for spine in ax.spines.values():
spine.set_visible(False)
plt.tight_layout()
Library
Matplotlib
Category
Pairwise Data
More Hexbin Plot examples
☕