Skip to content

Instantly share code, notes, and snippets.

@kain88-de
Created July 18, 2014 07:01
Show Gist options
  • Save kain88-de/8320e1aac8e6813de9bb to your computer and use it in GitHub Desktop.
Save kain88-de/8320e1aac8e6813de9bb to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"worksheets": [
{
"cells": [
{
"metadata": {},
"cell_type": "code",
"input": "%matplotlib inline\nimport IPython\nimport matplotlib as mpl\nimport matplotlib.pyplot as plt\nimport numpy as np\nfrom matplotlib.patches import Rectangle\n\nprint ('matplotlib version = ' + mpl.__version__)\nprint ('IPython version = ' + IPython.__version__)\nprint ('Backend used = ' + mpl.get_backend())",
"prompt_number": 1,
"outputs": [
{
"output_type": "stream",
"text": "matplotlib version = 1.4.x\nIPython version = 2.1.0\nBackend used = module://IPython.kernel.zmq.pylab.backend_inline\n",
"stream": "stdout"
}
],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "def zoomingBox(ax1, roi, ax2, color='red', linewidth=2, roiKwargs={},\n arrowKwargs={}):\n '''\n **Notes (for reasons unknown to me)**\n 1. Sometimes the zorder of the axes need to be adjusted manually...\n 2. The figure fraction is accurate only with qt backend but not inline...\n '''\n roiKwargs = dict([('fill',False), ('linestyle','dashed'), ('color',color),\n ('linewidth',linewidth)] + list(roiKwargs.items()))\n ax1.add_patch(Rectangle([roi[0],roi[2]], roi[1]-roi[0], roi[3]-roi[2],\n **roiKwargs))\n\n arrowKwargs = dict([('arrowstyle','-'), ('color',color),\n ('linewidth',linewidth)] + list(arrowKwargs.items()))\n srcCorners = [[roi[0],roi[2]], [roi[0],roi[3]], [roi[1],roi[2]],\n [roi[1],roi[3]]]\n dstCorners = ax2.get_position().corners()\n srcBB = ax1.get_position()\n dstBB = ax2.get_position()\n if (dstBB.min[0]>srcBB.max[0] and dstBB.max[1]<srcBB.min[1]) or \\\n (dstBB.max[0]<srcBB.min[0] and dstBB.min[1]>srcBB.max[1]):\n src = [0, 3]; dst = [0, 3]\n elif (dstBB.max[0]<srcBB.min[0] and dstBB.max[1]<srcBB.min[1]) or \\\n (dstBB.min[0]>srcBB.max[0] and dstBB.min[1]>srcBB.max[1]):\n src = [1, 2]; dst = [1, 2]\n elif dstBB.max[1] < srcBB.min[1]:\n src = [0, 2]; dst = [1, 3]\n elif dstBB.min[1] > srcBB.max[1]:\n src = [1, 3]; dst = [0, 2]\n elif dstBB.max[0] < srcBB.min[0]:\n src = [0, 1]; dst = [2, 3]\n elif dstBB.min[0] > srcBB.max[0]:\n src = [2, 3]; dst = [0, 1]\n for k in range(2):\n ax1.annotate('', xy=dstCorners[dst[k]], xytext=srcCorners[src[k]],\n xycoords='figure fraction', textcoords='data',\n arrowprops=arrowKwargs)\n",
"prompt_number": 2,
"outputs": [],
"language": "python",
"trusted": true,
"collapsed": false
},
{
"metadata": {},
"cell_type": "code",
"input": "axs = plt.subplots(2, 2)[1]\naxs[1,1].plot(np.random.rand(100))\nprint (axs[0,0].get_position().corners())\nzoomingBox(axs[1,1], [40,60,0.1,0.9], axs[0,0])\nzoomingBox(axs[1,1], [10,30,0.1,0.9], axs[1,0], color='orange')",
"prompt_number": 3,
"outputs": [
{
"output_type": "stream",
"text": "[[ 0.125 0.54772727]\n [ 0.125 0.9 ]\n [ 0.47727273 0.54772727]\n [ 0.47727273 0.9 ]]\n",
"stream": "stdout"
},
{
"png": "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\n",
"text": "<matplotlib.figure.Figure at 0x7f958ab0acf8>",
"output_type": "display_data",
"metadata": {}
}
],
"language": "python",
"trusted": true,
"collapsed": false
}
],
"metadata": {}
}
],
"metadata": {
"name": "",
"signature": "sha256:8cc159775c929a161d098e0570a241bfb42b4999312a4efe5c39ee26a075ebad",
"gist_id": "8320e1aac8e6813de9bb"
},
"nbformat": 3
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment