Skip to content

Instantly share code, notes, and snippets.

@thesamovar
Created May 26, 2016 13:47
Show Gist options
  • Save thesamovar/15f0e962ca55530f5bd01d9a4626365d to your computer and use it in GitHub Desktop.
Save thesamovar/15f0e962ca55530f5bd01d9a4626365d to your computer and use it in GitHub Desktop.
Hatching and imshow with masked values
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"from pylab import *\n",
"import matplotlib.patches as patches"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.patches.Rectangle at 0x2ffb50b8>"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nVbUvoG3uLJ2S9H2llL6kVUn/paSntx96avP/XxB3ljBfPvShD036XRjK0tLSzLyveDs+d7ONz9/0\n2/75+dKXvmTPveMXS1VVvVVK+aeS/k9t/OiA36iq6uX7/DYAAICZ8o6/DTfUxUvp7uIAAAAj5r4N\n1+mLJQAAgFnHuhMAAIAGvFgCAABo0PmLpVLKx0opK6WUb5ZSfq7rt4d2SinHSil/VEr5i1LKN0op\n/2yzf6CU8nwp5a9KKX9YSnl40u8rvFLKrlLKn5ZSfm+z5nM3I0opD5dSvlJKebmU8pellCf4/M2G\nUsrPbj5nfr2U8r+WUvbwuZsfnb5YYn/cTLop6WerqvqgpB+W9F9vfs4+J+n5qqq+X9L/tVljOv2M\npL/U3R8cy+dudvxrSb9fVdUHJP2gpBXx+Zt6pZQjkj4r6UNVVf2ANibE/6H43M2Nru8s3dkfV1XV\nTUlb++MwpaqqulBV1Z9t/vcb2tj1d0TSJyR9efPYlyV9cjLvIZqUUo5K+jFJvy5pa6KDz90MKKXs\nl/R3q6r6TWnjx7NUVXVVfP5mxYOSHiqlPCjpIW38/EE+d3Oi6xdL7I+bYZs/cPRvS3pR0mJVVWub\nv7QmaXFC7xaa/StJ/1zS7Xt6fO5mwwlJl0op/6aU8rVSypdKKQvi8zf1qqo6L+lfSjqjjRdJr1dV\n9bz43M2Nrl8s8XMJZlQppSfp30n6maqq3rYXpNr4eRN8bqdMKeUfSLpYVdWf6u5dpbfhczfVHtTG\n5qf/qaqqH5J0Tdu+bcPnbzqVUv6GNu4i9SUtSeqVUn7y3jN87mZb1y+WzktvW3R2TPEmMkyJUspu\nbbxQ+q2qqp7bbK+VUh7d/PXHFC9tw+Q8KekTpZTTkp6V9PdKKb8lPnez4pykc1VV/clm/RVtvHi6\nwOdv6n1E0umqqi5XVfWWpH8v6e+Iz93c6PrF0p39caWUd2ljf9zvdvw20UIppUj6DUl/WVXVr97z\nS78r6VOb//0pSc9t/72YrKqqfqGqqmNVVZ3QRrj0/66q6h+Jz91MqKrqgqSzpZTv32x9RNJfSPo9\n8fmbdq9K+uFSyrs3n0M/oo0hCz53c6Lzn+BdSvnPJf2q7u6P+x86fYNopZTyI5L+H0l/rru3jH9e\n0lcl/Y6k45IGkn6iqqrXJ/E+4v5KKR+W9N9WVfWJUsoB8bmbCaWU/1gb4fx3SfqWpJ/SxnMnn78p\nV0p5Rhs3BN6S9DVJ/5Wk94jP3Vxg3QkAAEADfoI3AABAA14sAQAANODFEgAAQANeLAEAADTgxRIA\nAEADXiwBAAA04MUSAABAA14sAQAANPj/AT9HczN32imbAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1eea3f98>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"n = 100\n",
"x, y = meshgrid(linspace(0, 1, n), linspace(0, 1, n))\n",
"w = exp(-(x-y)**2/(0.2*(0.51-(x-0.5)**2-(y-0.5)**2)))\n",
"#w[w<0.1] = nan\n",
"z = np.ma.masked_array(w, mask=w<0.1)\n",
"figure(figsize=(10, 10))\n",
"ax = subplot(111)\n",
"ax.imshow(z, origin='lower left', interpolation='nearest')\n",
"p = patches.Rectangle((0, 0), n, n, hatch='+++', fill=True, fc=(0.9,)*3, ec=(0.8,)*3, zorder=-10)\n",
"patches.Rectangle\n",
"ax.add_patch(p)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.11"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment