Matplotlib Tutorial - Grafico a linee
Si parte dalla tracciatura del tipo di grafico di base - grafico a linee. Il plot
potrebbe facilmente tracciare linee come Lineare o curva, ed anche avere diverse configurazioni come colori, larghezza, dimensione del marcatore, ecc.
Matplotlib Linea Lineare
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 9, 10)
y = 2 * x
plt.plot(x, y, "b-")
plt.show()
Traccia la linea di y=2*x
, dove x è nell’intervallo tra 0 e 9.
plt.plot(x, y, "b-")
Traccia i dati di x
e y
con uno stile di linea di b
- colore blu e -
- linea continua.
Matplotlib Linea curva
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 4 * np.pi, 1000)
y = np.sin(x)
plt.plot(x, y, "r--")
plt.show()
Genera una forma d’onda sinusoidale, e ha lo stile della linea come colore rosso - r
e linea tratteggiata - --
.
Tipo di linea Matplotlib
Si può cambiare il tipo di linea come larghezza, colore e stile di linea con diversi argomenti di input nella funzione plt.plot()
.
matplotlib.pyplot.plot(*args, **kwargs)
Parametri
Nome | Descritpion |
---|---|
x, y |
Le coordinate orizzontali / verticali dei punti dati |
fmt |
Una stringa di formato, ad esempio b- per la linea solida blu. |
****kwargs
Proprietà | Descrizione |
---|---|
color o c |
qualsiasi colore matplotlib |
figure |
un’istanza Figure |
label |
oggetto |
linestyle o ls |
[‘solid’ | ‘dashed’, ‘dashdot’, ‘dotted’ | (offset, on-off-dash-seq) | '-' ] |
linewidth o lw |
larghezza della linea in punti |
marker |
Uno stile di marcatore valido |
markersize o ms |
float |
xdata |
1D array |
ydata |
1D array |
zorder |
float |
Colore della linea
Avete alcuni metodi per dare un nome al colore nell’argomento color
.
Alias a lettera singola
The basic built-in colors have the alias as below,
Alias | Colore |
---|---|
b |
blu |
g |
verde |
r |
rosso |
c |
ciano |
m |
magenta |
y |
giallo |
k |
nero |
w |
bianco |
Html Hex String
Si potrebbe passare una stringa html hex valida al parametro color
, come
color = "#f44265"
Tupla RGB
Si può anche specificare il colore usando una tupla R,G,B
, dove R, G, B sono nell’intervallo di [0, 1]
invece del normale intervallo di [0, 255]
.
Il colore rappresentato con la stringa html hex sopra ha il valore RGB
di (0.9569, 0.2588, 0.3891)
.
color = (0.9569, 0.2588, 0.3891)
Stile linea
Matplotlib ha 4 stili di linea incorporati,
Stile di linea | |
---|---|
- |
|
-- |
|
: |
|
:- |
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 4 * np.pi, 1000)
for index, line_style in enumerate(["-", "--", ":", "-."]):
y = np.sin(x - index * np.pi / 2)
plt.plot(x, y, "k", linestyle=line_style, lw=2)
plt.title("Line Style")
plt.grid(True)
plt.show()
Larghezza della linea
Si può specificare la larghezza della linea con il parametro linewidth
come in
linewidth = 2 # unit is points
o semplicemente usare la sua abbreviazione,
lw = 2
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 20, 21)
for line_width in [0.5, 1, 2, 4, 8]:
y = line_width * x
plt.plot(x, y, "k", linewidth=line_width)
plt.title("Line Width")
plt.grid(True)
plt.show()
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook