Tutoriel Matplotlib - Graphique en lignes

Jinku Hu 15 février 2024
  1. Matplotlib Ligne Linéaire
  2. Ligne courbe de Matplotlib
  3. Type de ligne Matplotlib
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.

Matplotlib Line Chart - Ligne Linéaire

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 - --.

Matplotlib Line Chart - Ligne courbe

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

Matplotlib Line Chart -Color Single Letter Alias

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()

Matplotlib Line Chart - Style de ligne

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()

Matplotlib Line Chart - Largeur de la ligne

Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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