Tutoriel Matplotlib - Graphique en lignes
Nous commençons par tracer le type de graphique de base - le graphique linéaire. Le plot
peut facilement tracer des lignes comme une ligne linéaire ou une ligne courbe, et a aussi une configuration différente comme les couleurs, la largeur, la taille des marqueurs, etc.
Matplotlib Ligne Linéaire
# -*- 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()
Il trace la ligne de y=2*x
, où x est compris entre 0 et 9.
plt.plot(x, y, "b-")
Il trace les données de x
et y
avec un style de ligne de b
- couleur bleue et -
- ligne continue.
Ligne courbe de Matplotlib
# -*- 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()
Il génère une forme d’onde sinusoïdale, et a le style de ligne comme couleur rouge - r
et ligne pointillée - --
.
Type de ligne Matplotlib
Vous pouvez changer le type de ligne comme la largeur, la couleur et le style de ligne avec différents arguments d’entrée dans la fonction plt.plot()
.
matplotlib.pyplot.plot(*args, **kwargs)
Paramètres
Nom | Descritpion |
---|---|
x, y |
Les coordonnées horizontales / verticales des points de données |
fmt |
Une chaîne de format, par exemple b- pour la ligne bleue continue. |
**kwargs
Propriété | Description |
---|---|
color ou c |
toute couleur matplotlib |
figure |
une instance de Figure |
label |
objet |
linestyle ou ls |
[solide ] |
linewidth ou lw |
largeur de la ligne en points |
marker |
Un style de marqueur valide |
markersize ou ms |
float |
xdata |
Tableau 1D |
ydata |
Tableau 1D |
zorder |
float |
Couleur de la ligne
Vous avez quelques méthodes pour nommer la couleur dans l’argument color
.
Alias à une seule lettre
The basic built-in colors have the alias as below,
Alias | Couleur |
---|---|
b |
bleu |
g |
vert |
r |
rouge |
c |
cyan |
m |
magenta |
y |
jaune |
k |
noir |
w |
blanc |
Corde Html Hexagonale
Vous pouvez passer une chaîne hexagonale html valide au paramètre color
, comme
color = "#f44265"
Tuple RGB
Vous pouvez aussi spécifier la couleur en utilisant un tuple R,G,B
, où les valeurs R, G, B sont dans la plage de [0, 1]
au lieu de la plage normale de [0, 255]
.
La couleur représentée avec la chaîne html hexagonale ci-dessus a la valeur RGB
de (0.9569, 0.2588, 0.3891)
.
color = (0.9569, 0.2588, 0.3891)
Style de ligne
Matplotlib a 4 styles de lignes intégrés,
Style de ligne | |
---|---|
- |
[Matplotlib Line Chart - Line Style - ‘-’](/img/Matplotlib/Matplotlib Line Chart -Line Style - ‘-’.png) |
-- |
[Matplotlib Line Chart - Line Style - ‘–’](/img/Matplotlib/Matplotlib Line Chart -Line Style - ‘–’.png) |
: |
[Matplotlib Line Chart - Line Style - ‘:’](/img/Matplotlib/Matplotlib Line Chart -Line Style - dashed.png) |
:- |
[Matplotlib Line Chart - Line Style - ‘-.’](/img/Matplotlib/Matplotlib Line Chart -Line Style - ‘-.’.png) |
# -*- 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()
Largeur de ligne
Vous pouvez spécifier la largeur de la ligne avec le paramètre linewidth
comme dans
linewidth = 2 # unit is points
ou simplement utiliser son abréviation,
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