Stili lineari in Matplotlib Python
Questo tutorial si concentra su come possiamo usare diversi stili di linea nel grafico Matplotlib impostando il valore appropriato del parametro linestyle
nel metodo matplotlib.pyplot.plot()
. Abbiamo molte opzioni di linestyle
disponibili.
Imposta gli stili di linea in Matplotlib Python
import math
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)
plt.plot(x, y)
plt.xlabel("x")
plt.ylabel("sinx")
plt.title("Sinx Function")
plt.show()
Produzione:
Genera il grafico della funzione sinx
con lo stile di linea predefinito come solido
.
Per vedere le scelte disponibili per il parametro linestyle
, possiamo eseguire il seguente script:
from matplotlib import lines
print(lines.lineStyles.keys())
Produzione:
dict_keys(['-', '--', '-.', ':', 'None', ' ', ''])
Possiamo utilizzare uno qualsiasi dei valori di output per modificare lo stile della linea del grafico.
import math
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)
plt.plot(x, y, linestyle="-.")
plt.xlabel("x")
plt.ylabel("sinx")
plt.title("Sinx Function")
plt.show()
Produzione:
Imposta lo stile della linea nel nostro grafico su -.
.
La documentazione di Matplotlib Linestyle
ci fornisce un dizionario che possiamo usare per avere un controllo più raffinato sugli stili di linea. Secondo la documentazione, possiamo impostare lo stile della linea con la tupla (offset, (on_off_seq))
.
import math
import numpy as np
import matplotlib.pyplot as plt
from collections import OrderedDict
linestyles_dict = OrderedDict(
[
("solid", (0, ())),
("loosely dotted", (0, (1, 10))),
("dotted", (0, (1, 5))),
("densely dotted", (0, (1, 1))),
("loosely dashed", (0, (5, 10))),
("dashed", (0, (5, 5))),
("densely dashed", (0, (5, 1))),
("loosely dashdotted", (0, (3, 10, 1, 10))),
("dashdotted", (0, (3, 5, 1, 5))),
("densely dashdotted", (0, (3, 1, 1, 1))),
("loosely dashdotdotted", (0, (3, 10, 1, 10, 1, 10))),
("dashdotdotted", (0, (3, 5, 1, 5, 1, 5))),
("densely dashdotdotted", (0, (3, 1, 1, 1, 1, 1))),
]
)
x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)
plt.plot(x, y, linestyle=linestyles_dict["loosely dashdotdotted"])
plt.xlabel("x")
plt.ylabel("sinx")
plt.title("Sinx Function")
plt.show()
Produzione:
Imposta il linestyle
usando il dizionario linestyles_dict
. Possiamo selezionare qualsiasi chiave a cui vogliamo impostare lo stile di linea e passare il valore di quella chiave per il dizionario linestyles_dict
come parametro linestyle
nel metodo plot()
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn