KDEGlyph¶
KDEGlyph evaluates an isotropic Gaussian kernel-density estimate of an (x, y) point cloud on a grid (NumPy only, no scipy) and draws it as filled (shade=True, default) or line density contours.
In [1]:
Copied!
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from cleopatra.kde_glyph import KDEGlyph
rng = np.random.default_rng(0)
x = np.concatenate([rng.normal(-1, 0.6, 400), rng.normal(1.5, 0.5, 300)])
y = np.concatenate([rng.normal(0, 0.6, 400), rng.normal(1.0, 0.5, 300)])
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from cleopatra.kde_glyph import KDEGlyph
rng = np.random.default_rng(0)
x = np.concatenate([rng.normal(-1, 0.6, 400), rng.normal(1.5, 0.5, 300)])
y = np.concatenate([rng.normal(0, 0.6, 400), rng.normal(1.0, 0.5, 300)])
1. Filled density contours¶
In [2]:
Copied!
kde = KDEGlyph(x, y, cmap='viridis')
fig, ax, cs = kde.plot(title='Filled KDE')
kde = KDEGlyph(x, y, cmap='viridis')
fig, ax, cs = kde.plot(title='Filled KDE')
2. Line contours with a wider kernel¶
In [3]:
Copied!
kde = KDEGlyph(x, y, shade=False, bw_method=1.4, levels=12, cmap='inferno')
fig, ax, cs = kde.plot(title='Line KDE')
kde = KDEGlyph(x, y, shade=False, bw_method=1.4, levels=12, cmap='inferno')
fig, ax, cs = kde.plot(title='Line KDE')