{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook presents a working example of adjusting texts for multiple subplots, related to https://github.com/Phlya/adjustText/issues/58" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "scrolled": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt # Matplotlib 2.0 shown here\n", "from adjustText import adjust_text\n", "import numpy as np\n", "import pandas as pd" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# With multiple subplots, run `adjust_text` for one subplot at a time" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 12 s, sys: 263 ms, total: 12.2 s\n", "Wall time: 12.3 s\n", "CPU times: user 2.41 s, sys: 60.4 ms, total: 2.47 s\n", "Wall time: 2.47 s\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1, 2, figsize=(8, 3), sharex=True, sharey=True)\n", "axes = axes.ravel()\n", "\n", "for k, ax in enumerate(axes):\n", " np.random.seed(0)\n", " x, y = np.random.random((2,30))\n", " ax.plot(x, y, 'bo')\n", "\n", " texts = []\n", " for i in range(len(x)):\n", " t = ax.text(x[i], y[i], 'Text%s' %i, ha='center', va='center')\n", " texts.append(t)\n", " %time adjust_text(texts, ax=ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note** that there is time discrepancy between the two subplots, which is under investigation." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [default]", "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.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }