Recherche…


Remarques

Vue d'ensemble

matplotlib est une bibliothèque de traçage pour Python. Il fournit des API orientées objet pour l'intégration de tracés dans les applications. Il est similaire à MATLAB en termes de capacité et de syntaxe.

Il a été écrit à l'origine par JDHunter et est activement développé. Il est distribué sous une licence de style BSD.

Versions

Version Versions Python prises en charge Remarques Date de sortie
1.3.1 2.6, 2.7, 3.x Ancienne version stable 2013-10-10
1.4.3 2.6, 2.7, 3.x Version stable précédente 2015-07-14
1.5.3 2.7, 3.x Version stable actuelle 2016-01-11
2.x 2.7, 3.x Dernière version de développement 2016-07-25

Installation et configuration

Il existe plusieurs manières d’installer matplotlib, dont certaines dépendent du système que vous utilisez. Si vous avez de la chance, vous pourrez utiliser un gestionnaire de paquets pour installer facilement le module matplotlib et ses dépendances.

les fenêtres

Sur les machines Windows, vous pouvez essayer d'utiliser le gestionnaire de paquets pip pour installer matplotlib. Voir ici pour plus d'informations sur la configuration de pip dans un environnement Windows.

OS X

Il est recommandé d’utiliser le gestionnaire de paquets pip pour installer matplotlib. Si vous devez installer certaines des bibliothèques non-Python sur votre système (par exemple, libfreetype ), envisagez d'utiliser l' homebrew .

Si vous ne pouvez pas utiliser pip pour quelque raison que ce soit, essayez d’installer depuis le source .

Linux

Idéalement, le gestionnaire de paquets système ou pip devrait être utilisé pour installer matplotlib, en installant le paquet python-matplotlib ou en exécutant pip install matplotlib .

Si ce n'est pas possible (par exemple, vous n'avez pas de privilèges sudo sur la machine que vous utilisez), vous pouvez installer depuis la source en utilisant l'option --user : python setup.py install --user . En règle générale, cela va installer matplotlib dans ~/.local .

Debian / Ubuntu

sudo apt-get install python-matplotlib

Fedora / Red Hat

sudo yum install python-matplotlib

Dépannage

Voir le site Web matplotlib pour des conseils sur la façon de réparer un matplotlib cassé.

Personnalisation d'un tracé matplotlib

import pylab as plt
import numpy as np

plt.style.use('ggplot')

fig = plt.figure(1)
ax = plt.gca()

# make some testing data
x = np.linspace( 0, np.pi, 1000 )
test_f = lambda x: np.sin(x)*3 + np.cos(2*x)

# plot the test data
ax.plot( x, test_f(x) , lw = 2)

# set the axis labels
ax.set_xlabel(r'$x$', fontsize=14, labelpad=10)
ax.set_ylabel(r'$f(x)$', fontsize=14, labelpad=25, rotation=0)

# set axis limits
ax.set_xlim(0,np.pi)

plt.draw()

entrer la description de l'image ici

# Customize the plot
ax.grid(1, ls='--', color='#777777', alpha=0.5, lw=1)
ax.tick_params(labelsize=12, length=0)
ax.set_axis_bgcolor('w')
# add a legend
leg = plt.legend( ['text'], loc=1 )
fr = leg.get_frame()
fr.set_facecolor('w')
fr.set_alpha(.7)
plt.draw()

entrer la description de l'image ici

Syntaxe impérative vs orientée objet

Matplotlib prend en charge à la fois la syntaxe orientée objet et la syntaxe impérative pour le traçage. La syntaxe impérative est intentionnellement conçue pour être très proche de la syntaxe Matlab.

La syntaxe impérative (parfois appelée syntaxe «state-machine») émet une chaîne de commandes qui agissent toutes sur la figure ou l'axe le plus récent (comme Matlab). La syntaxe orientée objet, d'autre part, agit explicitement sur les objets (figure, axe, etc.) d'intérêt. Un point clé du zen de Python stipule qu'explicite vaut mieux qu'implicite, donc la syntaxe orientée objet est plus pythonique. Cependant, la syntaxe impérative est pratique pour les nouveaux convertis de Matlab et pour l'écriture de petits scripts "jetables". Voici un exemple des deux styles différents.

import matplotlib.pyplot as plt
import numpy as np

t = np.arange(0, 2, 0.01)
y = np.sin(4 * np.pi * t)

# Imperative syntax
plt.figure(1)
plt.clf()
plt.plot(t, y)
plt.xlabel('Time (s)')
plt.ylabel('Amplitude (V)')
plt.title('Sine Wave')
plt.grid(True)

# Object oriented syntax
fig = plt.figure(2)
fig.clf()
ax = fig.add_subplot(1,1,1)
ax.plot(t, y)
ax.set_xlabel('Time (s)')
ax.set_ylabel('Amplitude (V)')
ax.set_title('Sine Wave')
ax.grid(True)

Les deux exemples produisent le même tracé que celui illustré ci-dessous.

entrer la description de l'image ici

Tableaux bidimensionnels (2D)

Affiche un tableau bidimensionnel (2D) sur les axes.

import numpy as np
from matplotlib.pyplot import imshow, show, colorbar

image = np.random.rand(4,4)
imshow(image)
colorbar()
show()

Afficher un tableau bidimensionnel (2D) avec matplotlib



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow