Imposta la dimensione del marker del grafico a dispersione in Matplotlib

Suraj Joshi 12 aprile 2021
  1. Argomento della parola chiave s per impostare la dimensione dell’indicatore di dispersione Matplotlib
  2. Imposta la stessa dimensione dell’indicatore di dispersione di tutti i punti in Matplotlib
  3. Aumenta la dimensione dell’indicatore di dispersione dei punti in modo non uniforme in Matplotlib
  4. Parametro markersize per impostare la dimensione del marker di dispersione nella funzione plot di Matplotlib
Imposta la dimensione del marker del grafico a dispersione in Matplotlib

La dimensione degli indicatori di dispersione in Matplotlib è specificata dall’argomento della parola chiave s della funzione scatter(), dove s è uno scalare o un array.

Argomento della parola chiave s per impostare la dimensione dell’indicatore di dispersione Matplotlib

La sintassi della funzione scatter:

matplotlib.pyplot.scatter(
    x,
    y,
    s=None,
    c="b",
    marker="o",
    cmap=None,
    norm=None,
    vmin=None,
    vmax=None,
    alpha=None,
    linewidths=None,
    faceted=True,
    verts=None,
    hold=None,
    **kwargs
)

Dove, s è uno scalare o un array della stessa lunghezza di x e y, per impostare la dimensione dell’indicatore di dispersione. La dimensione predefinita dell’indicatore di dispersione è rcParams['lines.markersize'] ** 2. Secondo la documentazione, s è la dimensione del marker in punti2.

Imposta la stessa dimensione dell’indicatore di dispersione di tutti i punti in Matplotlib

import numpy as np
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = np.sin(x)

plt.scatter(x, y, s=500, c="magenta")

plt.title("Scatter plot of sinx")
plt.xlabel("x")
plt.ylabel("sinx")
plt.xlim(0, 6)
plt.ylim(-2, 2)
plt.show()

Markersize del grafico a dispersione aumentato in modo uniforme

Aumenta la dimensione dell’indicatore di dispersione dei punti in modo non uniforme in Matplotlib

Raddoppia la larghezza del marcatore a dispersione Matplotlib

Per raddoppiare la width (o height) del marker dobbiamo aumentare s di un fattore 4 come A = W*H => (2W)*(2H)= 4A.

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [a ** 2 for a in x]
s = [10 * 4 ** n for n in range(len(x))]
plt.scatter(x, y, s=s)
plt.title("Doubling width of marker in scatter plot")
plt.xlabel("x")
plt.ylabel("x**2")
plt.xlim(0, 6)
plt.ylim(0, 30)
plt.show()

larghezza raddoppiata dei marker

Raddoppia l’area del marcatore di dispersione Matplotlib

Per raddoppiare l’area del marker, aumentiamo l’area di un fattore di 2, quindi la dimensione del marker scala linearmente con l’area.

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [a ** 2 for a in x]
s = [10 * 2 ** n for n in range(len(x))]
plt.scatter(x, y, s=s)
plt.title("Doubling area of marker in scatter plot")
plt.xlabel("x")
plt.ylabel("x**2")
plt.xlim(0, 6)
plt.ylim(0, 30)
plt.show()

area dei marker raddoppiata

Parametro markersize per impostare la dimensione del marker di dispersione nella funzione plot di Matplotlib

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [0] * len(x)

plt.plot(x, y, "bo", markersize=10)
plt.show()

Qui l’area del cerchio è controllata dal parametro markersize.

parametro markersize per controllare la dimensione nel metodo di stampa

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Articolo correlato - Matplotlib Scatter