{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Matplotlib style sheets\n", "\n", "This notebook presents how to change the style or appearance of [matplotlib](https://matplotlib.org) plots. In additiopn to the `rcParams` dictionnary, the [`matplotlib.style`](https://matplotlib.org/users/customizing.html) module provides facilities for style sheets utilisation with [matplotlib](https://matplotlib.org). Look at [this page of the matplotlib documentation](https://matplotlib.org/users/customizing.html) to know how it works in details.\n", "\n", "Hereafter, I present how to load a style and I give you a style sheet I use for my plots.\n", "\n", "## How it works" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import matplotlib\n", "import matplotlib.style as mpl_style" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `mpl_style.available` attribute outputs the available styles. Since matplotlib version 2 and higher, you can load for example seaborn styles directly in matplotlib." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['seaborn-dark',\n", " 'seaborn-darkgrid',\n", " 'seaborn-ticks',\n", " 'fivethirtyeight',\n", " 'seaborn-whitegrid',\n", " 'classic',\n", " '_classic_test',\n", " 'fast',\n", " 'seaborn-talk',\n", " 'seaborn-dark-palette',\n", " 'seaborn-bright',\n", " 'seaborn-pastel',\n", " 'grayscale',\n", " 'seaborn-notebook',\n", " 'ggplot',\n", " 'seaborn-colorblind',\n", " 'seaborn-muted',\n", " 'seaborn',\n", " 'Solarize_Light2',\n", " 'seaborn-paper',\n", " 'bmh',\n", " 'tableau-colorblind10',\n", " 'seaborn-white',\n", " 'dark_background',\n", " 'seaborn-poster',\n", " 'seaborn-deep',\n", " 'publi']" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mpl_style.available" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you want to use one specific style, you simply have to load it, for example for the `seaborn-dark` style, using:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "mpl_style.use(\"seaborn-dark\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or you can also combine serveral styles:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "mpl_style.use(\"seaborn-dark\")\n", "mpl_style.use([\"seaborn-ticks\", \"seaborn-dark\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Custom styles\n", "\n", "There are several ways to change globaly or temporary the plot default parameters.\n", "\n", "### Use `rcParams` dictionnary\n", "\n", "You can directly modify parameters of the `rcParams` dictionnary, for example at the beginning of a notebook, in order to apply a style to all the plots. For example, the following changes the size of the plots, the font size and ask for a grid to be drawn:\n", "\n", "```python\n", "plt.rcParams[\"figure.figsize\"] = (10, 6)\n", "plt.rcParams[\"font.size\"] = 20\n", "plt.rcParams[\"axes.grid\"] = True\n", "```\n", "\n", "### Use matplotlibrc\n", "\n", "You can [download from here](https://matplotlib.org/_static/matplotlibrc) the `matplotlibrc` file. This file contains all the style options of the plots. Modify the file as you whish in order to change the default parameters. [Look at this page](https://matplotlib.org/faq/troubleshooting_faq.html#locating-matplotlib-config-dir) in order to know where you have to save the file. \n", "\n", "If you want the parameters to be limited to a specific location, copy the `matplotlibrc` file in your working directory. Then, only the plots you will create in this directory will be affected by these parameters.\n", "\n", "### Create your own style sheet\n", "\n", "A matplotlib style sheet has the same format and syntax as the `matplotlibrc` file. You simply have to put in this file the specific parameters you need. Suppose that at the beginning of all your jupyter notebook, you always modify the same keys of the `rcParams` dictionnary. You can consider to write these parameters in a style sheet and load that parameters at the beginning of the notebook.\n", "\n", "In order to know where you have to save your style sheet, you can run the following command." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'/Users/gvallver/.matplotlib'" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "matplotlib.get_configdir()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The style sheets have to be in a subdirectory called `stylelib` of the above location. You have to save the style sheets with names such as `my_style.mplstyle`.\n", "\n", "Hereafter is the style sheet I wrote to produce figures for scientific publications. This is not a perfect style sheet but a not too bad working example. Just save it put your own touch." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### my style sheet\n", "\n", "```matplotlibrc\n", "#### MATPLOTLIBRC FORMAT\n", "\n", "## matplotlib configuration for plots for publications.\n", "\n", "#### FIGURE\n", "figure.figsize : 11.67, 8.27\n", "savefig.dpi : 300\n", "savefig.bbox : tight\n", "\n", "#### FONT\n", "font.size : 24\n", "font.family : serif\n", "\n", "#### LaTeX\n", "mathtext.default : regular\n", "\n", "#### AXES\n", "axes.linewidth : 2\n", "axes.grid : True\n", "\n", "#### TICKS\n", "xtick.direction : in\n", "xtick.top : True\n", "xtick.major.width : 2\n", "xtick.major.size : 10\n", "xtick.minor.visible : True\n", "xtick.minor.width : 2\n", "xtick.minor.size : 5\n", "\n", "ytick.direction : in\n", "ytick.right : True\n", "ytick.major.width : 2\n", "ytick.major.size : 10\n", "ytick.minor.visible : True\n", "ytick.minor.width : 2\n", "ytick.minor.size : 5\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot a simple linear function as if it was a model of some experimental data." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'A plot')" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x = np.random.uniform(0, 10, 30)\n", "x.sort()\n", "yt = 2 * x + 1\n", "y = yt + np.random.normal(loc=0, scale=2, size=y.size)\n", "\n", "plt.plot(x, yt, label=\"model\")\n", "plt.plot(x, y, \"o\")\n", "plt.xlabel(\"x values (unit)\")\n", "plt.ylabel(\"y values (unit)\")\n", "plt.title(\"A plot\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, supposed you have saved you style sheet with as `publi.mplstyle` in the right directory. You can load the style and draw the plot:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with plt.style.context(('publi')):\n", " plt.plot(x, yt, label=\"model\")\n", " plt.plot(x, y, \"o\")\n", " plt.xlabel(\"x values (unit)\")\n", " plt.ylabel(\"y values (unit)\")\n", " plt.title(\"A plot\")" ] } ], "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.3" } }, "nbformat": 4, "nbformat_minor": 2 }