python-pour-finance/04-Visualisation-Matplotlib.../04-01-Matplotlib/(Optionnel - Pas de vidéo)...

1040 lines
824 KiB
Plaintext
Raw Normal View History

2023-08-21 15:12:19 +00:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Matplotlib (Avancé)\n",
"\n",
"Dans ce notebook, nous abordons des sujets plus avancés que vous n'utiliserez généralement pas très souvent. Vous pouvez toujours consulter la documentation pour plus de ressources! "
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"x = np.linspace(0, 5, 11)\n",
"y = x ** 2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Échelle logarithmique"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Il est également possible de définir une échelle logarithmique pour un ou les deux axes. Cette fonctionnalité n'est en fait qu'une application d'un système de transformation plus général dans Matplotlib. Les échelles de chacun des axes sont réglées séparément à l'aide des méthodes `set_xscale` et `set_yscale` qui acceptent un paramètre (avec la valeur \"log\" dans ce cas):"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 720x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, axes = plt.subplots(1, 2, figsize=(10,4))\n",
" \n",
"axes[0].plot(x, x**2, x, np.exp(x))\n",
"axes[0].set_title(\"Normal scale\")\n",
"\n",
"axes[1].plot(x, x**2, x, np.exp(x))\n",
"axes[1].set_yscale(\"log\")\n",
"axes[1].set_title(\"Logarithmic scale (y)\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Emplacement des coches sur l'axes et libellés personnalisés"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nous pouvons déterminer explicitement où nous voulons le coche des axes avec `set_xticks` et `set_yticks`, qui prennent toutes les deux une liste de valeurs pour l'endroit sur l'axe où les coches doivent être placées. Nous pouvons également utiliser les méthodes `set_xticklabels` et `set_yticklabels` pour fournir une liste d'étiquettes de texte personnalisées pour chaque emplacement de coche:"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 720x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(10, 4))\n",
"\n",
"ax.plot(x, x**2, x, x**3, lw=2)\n",
"\n",
"ax.set_xticks([1, 2, 3, 4, 5])\n",
"ax.set_xticklabels([r'$\\alpha$', r'$\\beta$', r'$\\gamma$', r'$\\delta$', r'$\\epsilon$'], fontsize=18)\n",
"\n",
"yticks = [0, 50, 100, 150]\n",
"ax.set_yticks(yticks)\n",
"ax.set_yticklabels([\"$%.1f$\" % y for y in yticks], fontsize=18); # utiliser des étiquettes formatées LaTeX"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Il existe un certain nombre de méthodes plus avancées pour contrôler le placement des tiques majeures et mineures dans les figures matplotlib, comme le placement automatique en fonction de différentes règles. Voir http://matplotlib.org/api/ticker_api.html pour plus de détails."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Notation Scientifique"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Avec de grands nombres sur les axes, il est souvent préférable d'utiliser la notation scientifique:"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(1, 1)\n",
" \n",
"ax.plot(x, x**2, x, np.exp(x))\n",
"ax.set_title(\"scientific notation\")\n",
"\n",
"ax.set_yticks([0, 50, 100, 150])\n",
"\n",
"from matplotlib import ticker\n",
"formatter = ticker.ScalarFormatter(useMathText=True)\n",
"formatter.set_scientific(True) \n",
"formatter.set_powerlimits((-1,1)) \n",
"ax.yaxis.set_major_formatter(formatter) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Numéro d'axe et espacement des étiquettes des axes"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# distance entre les axes x et y et les nombres sur les axes\n",
"plt.rcParams['xtick.major.pad'] = 5\n",
"plt.rcParams['ytick.major.pad'] = 5\n",
"\n",
"fig, ax = plt.subplots(1, 1)\n",
" \n",
"ax.plot(x, x**2, x, np.exp(x))\n",
"ax.set_yticks([0, 50, 100, 150])\n",
"\n",
"ax.set_title(\"label and axis spacing\")\n",
"\n",
"# Marge intérieure entre l'étiquette d'axe et les nombres d'axe\n",
"ax.xaxis.labelpad = 5\n",
"ax.yaxis.labelpad = 5\n",
"\n",
"ax.set_xlabel(\"x\")\n",
"ax.set_ylabel(\"y\");"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"# restaurer les valeurs par défaut\n",
"plt.rcParams['xtick.major.pad'] = 3\n",
"plt.rcParams['ytick.major.pad'] = 3"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Réglage de la position des axes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Malheureusement, lors de la sauvegarde des chiffres, les étiquettes sont parfois découpées et il peut être nécessaire d'ajuster un peu la position des axes. Ceci peut être fait en utilisant `subplots_adjust`:"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(1, 1)\n",
" \n",
"ax.plot(x, x**2, x, np.exp(x))\n",
"ax.set_yticks([0, 50, 100, 150])\n",
"\n",
"ax.set_title(\"title\")\n",
"ax.set_xlabel(\"x\")\n",
"ax.set_ylabel(\"y\")\n",
"\n",
"fig.subplots_adjust(left=0.15, right=.9, bottom=0.1, top=0.9);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Grille des axes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Avec la méthode `grid` dans l'objet axis, on peut activer et désactiver les lignes de grille. Nous pouvons aussi personnaliser l'apparence des lignes de la grille en utilisant les mêmes arguments que pour la fonction `plot`:"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 720x216 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, axes = plt.subplots(1, 2, figsize=(10,3))\n",
"\n",
"# apparence par défaut de la grille\n",
"axes[0].plot(x, x**2, x, x**3, lw=2)\n",
"axes[0].grid(True)\n",
"\n",
"# apparence de grille personnalisée\n",
"axes[1].plot(x, x**2, x, x**3, lw=2)\n",
"axes[1].grid(color='b', alpha=0.5, linestyle='dashed', linewidth=0.5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Les axes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nous pouvons également modifier les propriétés de l'axe:"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAACPCAYAAAAbSnuwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAALA0lEQVR4nO3dX6hdZ53G8e/TxIzMWOswB7Ek0XbGFAxhoDVT6820TuuQ5iK5KZJIcSqhgkMdGB2h4IVSr0YRQQjWDFM6CrZGL/Qg1Qw4LRUxJYGMoUlJOUZpztQhptbelFoz/uZi7zbb49l7r3Dcf3Le7wcO3Wuvd7/r7Y99nrPy7rX2m6pCkrS+XTXrAUiSJs+wl6QGGPaS1ADDXpIaYNhLUgMMe0lqgGEvSXMmyUNJzid5esj+JPlSkqUkJ5PcNK5Pw16S5s/DwK4R++8EtvV/PgJ8eVyHhr0kzZmqehL41Ygme4GvVs9R4C1Jrh3Vp2EvSdOUFMlav7pgM3BuYHu5/9xQG9dytF27qAsX1tKDJLXmGAtc4EhyfODJQ1V16DI6ySrPjfwDsqaw//731/JqSWpQ/qb336qda+hlGdg6sL0FeH7UC5zGkaQrzyLwof5VObcAL1XVL0a9YE1n9pKkP74kjwC3AQtJloFPA28AqKoHgceA3cAS8DLw4bF9rvErjv1+ZEm6HOlPt1etNu8+MU7jSFIDDHtJaoBhL0kNMOwlqQGGvSQ1wLCXpAYY9pLUAMNekhpg2EtSAwx7SWqAYS9JDTDsJakBhr0kNcCwl6Q5k2RXkjNJlpLcv8r+tyd5PMmJJCeT7B7bp19xLElTNOYrjpNsAJ4F3k9vRapjwP6qOj3Q5hBwoqq+nGQ78FhVXTfqsJ7ZS9J8uRlYqqqzVfUq8Ciwd0WbAt7cf3wNY5YkBFeqkqSZyPAFxzcD5wb2LQPvWfHyzwD/meRjwJ8Bd4w7nmEvSTNQwxccX216Z+WU+X7g4ar6QpL3Al9LsqOqfjfseE7jSNJ8WQa2Dmxv4Q+naQ4AhwGq6sfAG4GFUZ0a9pI0X44B25Jcn2QTsA9YXNHmOeB2gCTvohf2vxzVqWEvSXOkqi4C9wFHgGeAw1V1KskDSfb0m30CuDfJT4BHgHtqzKWVXnopSdM05tLLSfHMXpIaYNhLUgMMe0lqgGEvSQ0w7CWpAYa9JDXAsJekBhj2ktQAw16SGmDYS1IDDHtJaoBhL0kNMOwlqQGGvSTNmSS7kpxJspTk/iFtPpDkdJJTSb4+tk+/4liSpmjMVxwn2QA8C7yf3qpVx4D9VXV6oM02eitV/V1VvZjkrVV1ftRhPbOXpPlyM7BUVWer6lXgUWDvijb3Ager6kWAcUEPhr0kzUSS4wM/HxnYtRk4N7C93H9u0A3ADUl+lORokl3jjrdx7UOWJF2uqto5ZNdq0zsrp8w3AtuA2+gtSP7DJDuq6tfDjueZvSTNl2Vg68D2FuD5Vdp8p6p+W1U/A87QC/+hDHtJmi/HgG1Jrk+yCdgHLK5o823gfQBJFuhN65wd1alhL0lzpKouAvcBR4BngMNVdSrJA0n29JsdAV5Ichp4HPhkVb0wql8vvZSkaRpz6eWkeGYvSQ0w7CWpAYa9JDXAsJekBhj2ktQAw16SGmDYS1IDDHtJaoBhL0kNMOwlqQGGvSQ1wLCXpAYY9pI0Z7osON5vd1eSSjJsIZTXGfaSNEf6C44fBO4EtgP7k2xfpd3VwD8BT3Xp17CXpPnSZcFxgM8CnwNe6dKpYS9J82XsguNJbgS2VtV3u3bqguOSNANJjg9sHqqqQ6/tWqX56wtFJbkK+CJwz+Ucz7CXpBmoqmEfqo5bcPxqYAfwRHqrXr0NWEyyp6oG/4D8HpcllKRpGrMsYZKNwLPA7cD/0FuA/INVdWpI+yeAfxkV9OCcvSTNlY4Ljl82z+wlaZpccFySNCmGvSQ1wLCXpAYY9pLUAMNekhpg2EtSAwx7SWqAYS9JDTDsJakBhr0kNcCwl6QGGPaS1ADDXpIaYNhL0pxJsivJmSRLSe5fZf/Hk5xOcjLJD5K8Y1yfhr0kzZEkG4CDwJ3AdmB/ku0rmp0AdlbVXwPforfw+EiGvSTNl5uBpao6W1WvAo8CewcbVNXjVfVyf/MovaULRzLsJWm+bAbODWwv958b5gDwvXGduuC4JM1AksE1Yw9V1aHXdq3SfNVVAZPcDewEbh13PMNekmagqnYO2bUMbB3Y3gI8v7JRkjuATwG3VtVvxh3PaRxJmi/HgG1Jrk+yCdgHLA42SHIj8BVgT1Wd79KpYS9Jc6SqLgL3AUeAZ4DDVXUqyQNJ9vSbfR54E/DNJP+dZHFId69L1apTQZ3HtZYXS1Jz0p+Sr1ptbn5iPLOXpAYY9pLUAMNekhpg2EtSAwx7SWqAYS9JDTDsJakBhr0kNcCwl6QGGPaS1ADDXpIaYNhLUgMMe0lqgGEvSXMmya4kZ5IsJbl/lf1/kuQb/f1PJbluXJ+GvSTNkSQbgIPAncB2YH+S7SuaHQBerKp3Al8E/nVcv4a9JM2Xm4GlqjpbVa8CjwJ7V7TZC/xH//G3gNuTjPx+/DWtQZv89BT81Str6WP9+N8FeNuFWY9iPliLS6zFJdYC4N0ce/cCFzgyfMHxzcC5gX3LwHtWdPN6m6q6mOQl4C+AofVd44Lj73xlxKK5TUmuPW4teqzFJdbiEmvxmp0kGVWL1c7QV64K2KXN73EaR5LmyzKwdWB7C/D8sDZJNgLXAL8a1alhL0nz5RiwLcn1STYB+4CVC4ovAv/Qf3wX8F81ZkHxNU7jcGh8k2ZYi0usxSXW4hJrccnQWvTn4O8DjgAbgIeq6lSSB4DjVbUI/DvwtSRL9M7o9407YMb8MZAkrQNO40hSAzqF/STu5rpSdajFx5OcTnIyyQ+SvGMW45yGcbUYaHdXkkqybq/E6FKLJB/ovzdOJfn6tMc4LR1+R96e5PEkJ/q/J7tnMc5JS/JQkvNJnh6yP0m+1K/TySQ3TXRAVTXyh96c0U+BvwQ2AT8Btq9o84/Ag/3H+4BvjOv3SvzpWIv3AX/af/zRlmvRb3c18CRwFNg563HP8H2xDTgB/Hl/+62zHvcMa3EI+Gj/8Xbg57Me94Rq8bfATcDTQ/bvBr5H7zLKW4CnJjmeLmf2E7mb6wo1thZV9XhVvdzfPErvsqn1qMv7AuCzwOeA9XzzXZda3AscrKoXAarq/JTHOC1dalHAm/uPr+EPLytcF6rqSUZfDrkX+Gr1HAXekuTaSY2nS9ivdjfX5mFtquoi8NrdXOtNl1oMOkDvL/d6NLYWSW4EtlbVd6c5sBno8r64AbghyY+SHE2ya2qjm64utfgMcHeSZeAx4GPTGdrcudw8WZMul15O5G6uK1Tn/88kdwM7gVsnOqLZGVmLJFfR+4Kme6Y1oBnq8r7YSG8q5zZ6/9r7YZIdVfXrCY9t2rrUYj/wcFV9Icl76V1CuKOqfjf54c2VqeZmlzP7idzNdYXqUguS3AF8CthTVb+Z0timbVwtrgZ2AE8k+Tm9OcnFdfohbdffke9U1W+r6mfAGXrhv950qcUB4DBAVf0YeCOwMJXRzZdOefLH0iXsJ3I31xVqbC36UxdfoRf063VeFsbUoqpeqqqFqrquqq6j9/nFnqo6vnp3V7QuvyPfpvfhPUkW6E3rnJ3qKKejSy2eA24HSPIuemH/y6mOcj4sAh/qX5VzC/BSVf1iUgcbO41TE7qb60rUsRafB94EfLP/GfVzVbVnZoOekI61aELHWhwB/j7JaeD/gE9W1QuzG/VkdKzFJ4B/S/LP9KYt7lmPJ4dJHqE3bbfQ/3zi08AbAKrqQXqfV+wGloCXgQ9PdDzrsMaSpBW8g1aSGmDYS1IDDHtJaoBhL0kNMOwlqQGGvSQ1wLCXpAYY9pLUgP8HDoZeK9IXav0AAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x144 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(6,2))\n",
"\n",
"ax.spines['bottom'].set_color('blue')\n",
"ax.spines['top'].set_color('blue')\n",
"\n",
"ax.spines['right'].set_color('red')\n",
"ax.spines['right'].set_linewidth(2)\n",
"\n",
"# désactiver l'axe gauche\n",
"ax.spines['left'].set_color('None')\n",
"ax.yaxis.tick_right() # traits seulements sur le côté droit"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2 axes jumelés"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Il est parfois utile d'avoir deux axes x ou y dans une figure, par exemple, pour tracer des courbes avec différentes unités ensemble. Matplotlib supporte ceci avec les fonctions `twinx` et `twiny`:"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax1 = plt.subplots()\n",
"\n",
"ax1.plot(x, x**2, lw=2, color=\"blue\")\n",
"ax1.set_ylabel(r\"area $(m^2)$\", fontsize=18, color=\"blue\")\n",
"for label in ax1.get_yticklabels():\n",
" label.set_color(\"blue\")\n",
" \n",
"ax2 = ax1.twinx()\n",
"ax2.plot(x, x**3, lw=2, color=\"red\")\n",
"ax2.set_ylabel(r\"volume $(m^3)$\", fontsize=18, color=\"red\")\n",
"for label in ax2.get_yticklabels():\n",
" label.set_color(\"red\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Axes où x et y valent 0"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"\n",
"ax.spines['right'].set_color('none')\n",
"ax.spines['top'].set_color('none')\n",
"\n",
"ax.xaxis.set_ticks_position('bottom')\n",
"ax.spines['bottom'].set_position(('data',0)) # régler la position de x sur 0\n",
"\n",
"ax.yaxis.set_ticks_position('left')\n",
"ax.spines['left'].set_position(('data',0)) # régler la position de y sur 0\n",
"\n",
"xx = np.linspace(-0.75, 1., 100)\n",
"ax.plot(xx, xx**3);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Autres styles de tracés 2D"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"En plus de la méthode classique de `plot`, il existe un certain nombre d'autres fonctions pour générer différents types de tracés. Voir la galerie de tracés matplotlib pour une liste complète des types de tracés disponibles: http://matplotlib.org/gallery.html. Certains des plus utiles sont présentés ci-dessous:"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [],
"source": [
"n = np.array([0,1,2,3,4,5])"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 864x216 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, axes = plt.subplots(1, 4, figsize=(12,3))\n",
"\n",
"axes[0].scatter(xx, xx + 0.25*np.random.randn(len(xx)))\n",
"axes[0].set_title(\"scatter\")\n",
"\n",
"axes[1].step(n, n**2, lw=2)\n",
"axes[1].set_title(\"step\")\n",
"\n",
"axes[2].bar(n, n**2, align=\"center\", width=0.5, alpha=0.5)\n",
"axes[2].set_title(\"bar\")\n",
"\n",
"axes[3].fill_between(x, x**2, x**3, color=\"green\", alpha=0.5);\n",
"axes[3].set_title(\"fill_between\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Annotation de texte"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"L'annotation de texte dans les figures matplotlib peut se faire à l'aide de la fonction `text`. Il prend en charge le formatage LaTeX tout comme les textes et les titres des étiquettes d'axes:"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"\n",
"ax.plot(xx, xx**2, xx, xx**3)\n",
"\n",
"ax.text(0.15, 0.2, r\"$y=x^2$\", fontsize=20, color=\"blue\")\n",
"ax.text(0.65, 0.1, r\"$y=x^3$\", fontsize=20, color=\"green\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Figures avec plusieurs sous-graphiques et incrustations"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Les axes peuvent être ajoutés manuellement à une Figure matplotlib en utilisant `fig.add_axes` ou en utilisant un gestionnaire de mise en page dee sous-figures tels que `subplots`, `subplot2grid` ou `gridspec`:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### subplots"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 6 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(2, 3)\n",
"fig.tight_layout()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### subplot2grid"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 5 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure()\n",
"ax1 = plt.subplot2grid((3,3), (0,0), colspan=3)\n",
"ax2 = plt.subplot2grid((3,3), (1,0), colspan=2)\n",
"ax3 = plt.subplot2grid((3,3), (1,2), rowspan=2)\n",
"ax4 = plt.subplot2grid((3,3), (2,0))\n",
"ax5 = plt.subplot2grid((3,3), (2,1))\n",
"fig.tight_layout()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### gridspec"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.gridspec as gridspec"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 6 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure()\n",
"\n",
"gs = gridspec.GridSpec(2, 3, height_ratios=[2,1], width_ratios=[1,2,1])\n",
"for g in gs:\n",
" ax = fig.add_subplot(g)\n",
" \n",
"fig.tight_layout()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### add_axes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ajout manuel d'axes avec `add_axes` est utile pour ajouter des graphiques intérieurs aux figures :"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"\n",
"ax.plot(xx, xx**2, xx, xx**3)\n",
"fig.tight_layout()\n",
"\n",
"# inset\n",
"inset_ax = fig.add_axes([0.2, 0.55, 0.35, 0.35]) # X, Y, width, height\n",
"\n",
"inset_ax.plot(xx, xx**2, xx, xx**3)\n",
"inset_ax.set_title('zoom near origin')\n",
"\n",
"# définir plage de l'axe\n",
"inset_ax.set_xlim(-.2, .2)\n",
"inset_ax.set_ylim(-.005, .01)\n",
"\n",
"# définir les emplacements des tiques d'axe\n",
"inset_ax.set_yticks([0, 0.005, 0.01])\n",
"inset_ax.set_xticks([-0.1,0,.1]);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Figures de couleurs et de contours"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Les couleurs et les figures de contour sont utiles pour tracer les fonctions de deux variables. Dans la plupart de ces fonctions, nous utiliserons une carte de couleurs pour encoder une dimension des données. Il existe un certain nombre de cartes de couleurs prédéfinies. Il est relativement simple de définir des cartes de couleur personnalisées. Pour une liste de cartes de couleurs prédéfinies, voir : http://www.scipy.org/Cookbook/Matplotlib/Show_colormaps"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [],
"source": [
"alpha = 0.7\n",
"phi_ext = 2 * np.pi * 0.5\n",
"\n",
"def flux_qubit_potential(phi_m, phi_p):\n",
" return 2 + alpha - 2 * np.cos(phi_p) * np.cos(phi_m) - alpha * np.cos(phi_ext - 2*phi_p)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [],
"source": [
"phi_m = np.linspace(0, 2*np.pi, 100)\n",
"phi_p = np.linspace(0, 2*np.pi, 100)\n",
"X,Y = np.meshgrid(phi_p, phi_m)\n",
"Z = flux_qubit_potential(X, Y).T"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### pcolor"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"\n",
"p = ax.pcolor(X/(2*np.pi), Y/(2*np.pi), Z, cmap=plt.cm.RdBu, vmin=abs(Z).min(), vmax=abs(Z).max())\n",
"cb = fig.colorbar(p, ax=ax)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### imshow"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAATAAAAD8CAYAAADwpviIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOy9fcgsT3Ye9pxT3fO+d39aSURrJ4vWTgySwYkhHzJSgsAoim0Ux0gEJ5FkQrJBZDFEcVC+iCDEwhCwMYE4SNhZyUKSQ/yBQGEdFCuBIJwEK0g2xNiyY4QiopUMilbyend/996Zrjr549SpOlVd3TPz3rn73p+YAy/T0zNvT39UP/08zzlVRSKCe9zjHvf4IAY/9w7c4x73uMdT4w5g97jHPT6wcQewe9zjHh/YuAPYPe5xjw9s3AHsHve4xwc27gB2j3vc4wMbZwGMiH6QiH6FiP7WxudERP8NEf0cEf1NIvrnbr+b97jHPe6xjksY2A8B+Kadz/9lAF+d/z4B4E+/+W7d4x73uMf5OAtgIvJXAfzazle+BcCPiMZPAfhyIvrorXbwHve4xz224hYe2FcC+EX3/tN53T3ucY97vNWYbrANGqwb9k8iok9AZSZm0Nd8Bc27Gx71cpKN5d0fHu3L4L2tI7L3BMor2a1nEJj0PYhAPPoDiFn/Aud1DA4McACYQfkVHEDMEMqfEQEUIACS5D8IRIAkgpiAKJKXBdFe3V9K+n1JAhHJr9BlSUBKddm96rLUM7nV1YzK2QJRPhlEIOLySkR6nHmZCHoe7JwRgRkITO0f6SuTLQNM+Zznc8/5WkCi7mOKIEmQlIAU9fhSLMsp6meSBFKWEyShrrPzlew8uHOfT0WydiaAuPXW9vqz9dT22K8bfj5a6eKzsuB9iWe+tR/8pR8TLK8u+q68/MxPiMie3XTzuAWAfRrAb3HvPwbgl0dfFJFPAvgkAHyUH+Q75o+Vz+LgRomC1efn1iVcFkY9A9krIVB9PeQb6cCUl4EXgTHnz14ExhwI0+OE+cWE6XHC4UtmTI8z5vdmzC8mzO89YH7vEfOHP4T5vReY33vE4cMfQviSD4Me3wO/92Hwe18K+tCHQS++BDJ/COnhPcj8AnL4EBaa8HJJeLUIXi4JrxfBF44Rnzsu+OzrBZ9/veDzx4jPvjzhH7x/xGffP+FzrxZ89v0TXr5e8PrlCafXEafXC46vFyynhNOrE+LxJZbjS8TXrxCPL5GWI+JyRDodkRb9kxQVAAAFBRfEnF8DiAN4OujffEDIy+HwAuHhEdPhBcLhBebHGdPMODxMmB8mzA8BDy9mvHiY8GUfmvHhR3398g8d8GUvZnzJIeDLHvX1w4cJ7x0CXkyEh4nxOBFeTIxJFtDxffDxC6DjS9DpfcjLz0Pe/xzSF/4h0hc+h/T+P0R6/30cP/c+Tl94hePnvoDlC69w+sIrnL7wGqeXC05fOGF5dcLx8ycsrxacXi76GgUvY8IxCV4lwTH/RUF+re+j1FffJq9tj32b9O/9un59/xkA/NnTpy/89Z2IrzH/jn/1oq8e/8YPfOTNf/C6uIWE/BSAfytnI/95AJ8Vkb9/7UZCftq260bf21/3QagLMWAYBcm4yffH1Z+rpwZxuGjdrf+fubvWfJvjeVtRweT2+zkCr/P7079/e+fPHlTn/p4jzjIwIvrzAL4BwEeI6NMA/iiAGQBE5M8A+HEAvx/AzwF4H8C/8yY7FIgaNhZIn2Z+/d46QBvE3pPvHBiMGsObNJCewdwqTGbpMhcQsFcuUpYKYBh72griAEmxNMgtsPWNdghiIbjvstsf3Sd/DHWZq3TsAM2f/kZaPfNoKuv22r6/pi2OmNa5dX792wl6NnC6JM4CmIh8+5nPBcC/d+0PE9oL4WVg3wj21l8LYtsNZr3uuYJEinfS3Kwb+3YteylPzRCApX3CjgDrHOg12+SwWgegAO1T4oKf/6LEVrusn9f292ZtcfsBeg68wgbQPznoAw5gX6zowcwuTBQpn3nWNVpn2/EN57p9OC9hfXB4i3eWpNICPT4x7z9xQ2FaynYsyLE1H5dIwB7UzkmHfh0P9skvm3k/PJ5un5uvjeT2gO2+DQbcgxWwD257LeUpzGvPC7tlEBHCfHh7P/CG8WwARlh7Xh6E9P0ayC6Vk/b/W9EbpdfELeWkxAhKaXgztuyL4HNamonTDJ3P4AEtI+MGNPR94gDmgOTMeOYACQGUWhZ2CUAZm+NGVnL3vn6fG9nYLutfzTo2v+PO++oKSD2HEuMYyOLlQMaBgbjtVe6Ff8he0gb9//n1I5C6xsSn23CwOwPbiv4C+wtwjnlZE+6BzdbZ9vd/vzaYvmFsUfY+jIXRmS8Ob57+JpM1kLEDLqZ98PQgxrlMwbZhy8p8qne1J/t0l+ImiO39f/uXf5uo7IuWUJxnYIAes31M6OTo4JyV2EmWXBqhe3DoOt/exDGx+n7dXs/9Rt22X3cOuLbaw81Y2V1C7sfoRG9JyD3QskbWrhuXZ+jvjmh531D2qXvZq6e0lr2bS1KTjdSbtn7MVitF1fAOHRjYfjaspZGUGcQ6HwwAKK0brLGyEfhRaIHMG/j2uz6RYBE29r3Uf1H7PytGtgVcTwy7jhwY6VS3HYhwGlgU/vMWyNaqoI8tu+ISMNv63tsIwmUe6HPF80nIXTbhLzoN1u+BVv3fHsz6uEZGBnrzEo3Cwgbyxhv3FqVY1r4Du7kH+zeQkDXrp0BQ37MDoFjruTggbjCusg8jAOMqHykX5fpl2xf9vxbMVsDbyd+QpbKXQ0RrMFPQl1q8apFMVl4GdlsPI0bve+0nmtYP2HWcA6Q3ZWG3SU7eGdhmbD85RqDl158HshF918/7fWhlpH/1n1++75eHpAjyN1yukC+vOVR2yYqFmaT0IDA5IKACWg44MqsxH0yurOdZAVjowasFNM6/6XsoGJDafk4dcHnJWM+BAZf7YHCu/Ll909i6xq08NIm5Lx9Hbc+21f/eFnA9BwO7S8iNINyOga3ft/838sS2PC8fWyD2Jg0mxYSADF5nvkuoXZjKb3NlYR7EFAS4YTLUgJh14ak+WCMBky6H6YC4HLf3yQNYWAPXel3+Ter2xe1nyPs+MRXw8uyrMMrctYtxWYmAgVjaYV/nMpSjB96WQd97YMBlba9ffw0D22N4tyFgBL5nIddB0C45FutiQFv2n50DrnPMrY1RQ/EsrP2urXdbvcWjL/fZkxhBU8p9Et0f/M0rBfhrP8HWB/N/ZuSbee7Bw2SeZSObmi0Oq7qlVeYxjKRjAE8zmLV7kf6Gk7CdgT/cZzsWd4yETkoTtecoe4YSc/enHVC6SkqedNmue8K6aHXEvrb82Pp/6LbRrn8KkI22dwsAI9yzkMMgGl/IPeCydRXgLmNge11qtzKR9lkPWtdGiql0HnYr29edUPCRyjyo1oJtlVJ4I78FLUKYGGkRMBNkOkBSBE/1CZuWo75fjkjQxjuqAwPggCr3h5znBszCxAhBf5OYwFMFM2/gt3+1hEL3H+2x99cie1+rTOTgHNs12GNk56K2hzGYXZKBvIaBPbWkAriRB3aXkNux9XSqtJuKdzBiYf3nnrldwsDs9/y+9B6YRW/gF1P6CnRrnv6pW06xGtGOWTBxyUIamBkwjTKRIx8sTIwUE2LM7GcisDBSEnAGMeEACgmMQwExsg7dHJAyEPDAxOfp0DCynn15+WhgFphwmLjZ11EG0oCa7DWfi2H5hB+Fwp1jyQ+RS8PYFzPpcBQ5GICHcu+B9ezrkjany5exrUv9sNsHlWv+LsazSsi5O++lgj5fkIQ1OG29v1xOtjHywtavVL7r35+L0U3TrMuSp2zNySEb4saMa4K44WTWHlgPXIeJcZgYx8iIS9KK6sBInIqcYyZIBhyLhLaMwhhY6Gq97LUY+dNcRqIw9mW/way/bfIx5H3rQfcQeOiB2RA6Cl45H5nBnhzYN0wxF6HKRjHqpYDmWbi1OwWPKh3PGfijbdbldt2oBnHr/bpPb/v+JrBGdwk5DAYVD6ztkoG8ThD
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"\n",
"im = ax.imshow(Z, cmap=plt.cm.RdBu, vmin=abs(Z).min(), vmax=abs(Z).max(), extent=[0, 1, 0, 1])\n",
"im.set_interpolation('bilinear')\n",
"\n",
"cb = fig.colorbar(im, ax=ax)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### contour"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\n",
"\n",
"cnt = ax.contour(Z, cmap=plt.cm.RdBu, vmin=abs(Z).min(), vmax=abs(Z).max(), extent=[0, 1, 0, 1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Figures 3D"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pour utiliser les graphiques 3D dans matplotlib, nous devons d'abord créer une instance de la classe `Axes3D`. Les axes 3D peuvent être ajoutés à un canevas de figures matplotlib exactement de la même manière que les axes 2D ; ou, plus commodément, en passant l'argument `projection='3d'` aux méthodes `add_axes` ou `add_subplot`."
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [],
"source": [
"from mpl_toolkits.mplot3d.axes3d import Axes3D"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Tracés de surface"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1008x432 with 3 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(14,6))\n",
"\n",
"# `ax` est une instance d'axe compatible 3D à cause de l'argument projection='3d' à add_subplot\n",
"ax = fig.add_subplot(1, 2, 1, projection='3d')\n",
"\n",
"p = ax.plot_surface(X, Y, Z, rstride=4, cstride=4, linewidth=0)\n",
"\n",
"# surface_plot avec étalonnage et barre de couleurs\n",
"ax = fig.add_subplot(1, 2, 2, projection='3d')\n",
"p = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.coolwarm, linewidth=0, antialiased=False)\n",
"cb = fig.colorbar(p, shrink=0.5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Tracé Wire-frame"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 576x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(8,6))\n",
"\n",
"ax = fig.add_subplot(1, 1, 1, projection='3d')\n",
"\n",
"p = ax.plot_wireframe(X, Y, Z, rstride=4, cstride=4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### graphiques de Coutour avec projections"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 576x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(8,6))\n",
"\n",
"ax = fig.add_subplot(1,1,1, projection='3d')\n",
"\n",
"ax.plot_surface(X, Y, Z, rstride=4, cstride=4, alpha=0.25)\n",
"cset = ax.contour(X, Y, Z, zdir='z', offset=-np.pi, cmap=plt.cm.coolwarm)\n",
"cset = ax.contour(X, Y, Z, zdir='x', offset=-np.pi, cmap=plt.cm.coolwarm)\n",
"cset = ax.contour(X, Y, Z, zdir='y', offset=3*np.pi, cmap=plt.cm.coolwarm)\n",
"\n",
"ax.set_xlim3d(-np.pi, 2*np.pi);\n",
"ax.set_ylim3d(0, 3*np.pi);\n",
"ax.set_zlim3d(-np.pi, 2*np.pi);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Lectures complémentaires"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"* http://www.matplotlib.org - La page web du projet matplotlib.\n",
"* https://github.com/matplotlib/matplotlib - Le code source de matplotlib.\n",
"* http://matplotlib.org/gallery.html - Une grande galerie présentant différents types de tracés que matplotlib peut créer. Fortement recommandé! \n",
"* http://www.loria.fr/~rougier/teaching/matplotlib - Un bon tutoriel matplotlib.\n",
"* http://scipy-lectures.github.io/matplotlib/matplotlib.html - Une autre bonne référence matplotlib.\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.5"
}
},
"nbformat": 4,
"nbformat_minor": 1
}