Contour manuel #

Exemple d'affichage de vos propres lignes de contour et polygones à l'aide de ContourSet.

import matplotlib.pyplot as plt
from matplotlib.contour import ContourSet
import matplotlib.cm as cm

Les lignes de contour pour chaque niveau sont une liste/tuple de polygones.

lines0 = [[[0, 0], [0, 4]]]
lines1 = [[[2, 0], [1, 2], [1, 3]]]
lines2 = [[[3, 0], [3, 2]], [[3, 3], [3, 4]]]  # Note two lines.

Les contours remplis entre deux niveaux sont également une liste/uplet de polygones. Les points peuvent être ordonnés dans le sens des aiguilles d'une montre ou dans le sens inverse des aiguilles d'une montre.

filled01 = [[[0, 0], [0, 4], [1, 3], [1, 2], [2, 0]]]
filled12 = [[[2, 0], [3, 0], [3, 2], [1, 3], [1, 2]],   # Note two polygons.
            [[1, 4], [3, 4], [3, 3]]]
fig, ax = plt.subplots()

# Filled contours using filled=True.
cs = ContourSet(ax, [0, 1, 2], [filled01, filled12], filled=True, cmap=cm.bone)
cbar = fig.colorbar(cs)

# Contour lines (non-filled).
lines = ContourSet(
    ax, [0, 1, 2], [lines0, lines1, lines2], cmap=cm.cool, linewidths=3)
cbar.add_lines(lines)

ax.set(xlim=(-0.5, 3.5), ylim=(-0.5, 4.5),
       title='User-specified contours')
Contours spécifiés par l'utilisateur
[(-0.5, 3.5), (-0.5, 4.5), Text(0.5, 1.0, 'User-specified contours')]

Plusieurs lignes de contour remplies peuvent être spécifiées dans une seule liste de sommets de polygone avec une liste de types de sommets (types de code) comme décrit dans la classe Path. Ceci est particulièrement utile pour les polygones avec des trous. Ici, un type de code de 1 est un MOVETO et 2 est un LINETO.

fig, ax = plt.subplots()
filled01 = [[[0, 0], [3, 0], [3, 3], [0, 3], [1, 1], [1, 2], [2, 2], [2, 1]]]
kinds01 = [[1, 2, 2, 2, 1, 2, 2, 2]]
cs = ContourSet(ax, [0, 1], [filled01], [kinds01], filled=True)
cbar = fig.colorbar(cs)

ax.set(xlim=(-0.5, 3.5), ylim=(-0.5, 3.5),
       title='User specified filled contours with holes')

plt.show()
Contours remplis spécifiés par l'utilisateur avec des trous

Galerie générée par Sphinx-Gallery