mpl-scatter-density#

mpl-scatter-density erleichtert das Erstellen interaktiver Streudichtekarten aus großen Datenmengen.

Installation#

$ pipenv install mpl-scatter-density

Damit werden automatisch auch die Abhängigkeiten Numpy, Matplotlib und fast-histogram installiert.

Verwendungszweck#

  1. Importe

[1]:
import matplotlib.pyplot as plt
import mpl_scatter_density
import numpy as np
  1. Beispieldaten generieren

[2]:
N = 10000000
x = np.random.normal(4, 2, N)
y = np.random.normal(3, 1, N)
  1. Es gibt im Wesentlichen zwei Verwendungszwecke für mpl-scatter-density:

    1. projection='scatter_density'

    2. ScatterDensityArtist

    1. projection='scatter_density'

[3]:
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection="scatter_density")
ax.scatter_density(x, y)
ax.set_xlim(-5, 10)
ax.set_ylim(-5, 10)
fig.savefig("gaussian.png")
/Users/veit/.local/share/virtualenvs/python-311-6zxVKbDJ/lib/python3.11/site-packages/mpl_scatter_density/generic_density_artist.py:77: RuntimeWarning: All-NaN slice encountered
  vmin = self._density_vmin(array)
/Users/veit/.local/share/virtualenvs/python-311-6zxVKbDJ/lib/python3.11/site-packages/mpl_scatter_density/generic_density_artist.py:82: RuntimeWarning: All-NaN slice encountered
  vmax = self._density_vmax(array)
../_images/matplotlib_mpl-scatter-density_9_1.png
    1. ScatterDensityArtist

Auch im vorhergehenden Beispiel wird ScatterDensityArtist verwendet, ohne es jedoch direkt anzugeben. Im folgenden Beispiel fügen wir es explizit den Achsen hinzu:

[4]:
from mpl_scatter_density import ScatterDensityArtist


a = ScatterDensityArtist(ax, x, y)
ax.add_artist(a)
[4]:
<mpl_scatter_density.scatter_density_artist.ScatterDensityArtist at 0x10bc0f150>