Skip to content

Instantly share code, notes, and snippets.

@quantshah
Last active June 23, 2016 17:47
Show Gist options
  • Save quantshah/158f1572f5bc00e54881823e6c4a4801 to your computer and use it in GitHub Desktop.
Save quantshah/158f1572f5bc00e54881823e6c4a4801 to your computer and use it in GitHub Desktop.
gist for ganj
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First get the imports \n",
"%matplotlib inline is for inline plotting in the browser"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from mpl_toolkits.mplot3d import axes3d\n",
"import matplotlib.pyplot as plt\n",
"from matplotlib import cm\n",
"import numpy as np\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Get the X and Y arrays. Lets say X is 1 unit and y is 2 units and you want to have a resolution of 0.1 in x and 0.2 in y "
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The shape of the X and Y arrays are 1D now\n",
"(10,)\n",
"(5,)\n",
"x array is [ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]\n",
"x array is [ 0. 0.4 0.8 1.2 1.6]\n"
]
}
],
"source": [
"dx = 0.1\n",
"dy = 0.4\n",
"\n",
"x= np.arange(0, 1, dx)\n",
"y = np.arange(0, 2, dy)\n",
"\n",
"print (\"The shape of the X and Y arrays are 1D now\")\n",
"\n",
"print (x.shape)\n",
"print (y.shape)\n",
"\n",
"print (\"x array is \", x)\n",
"print (\"x array is \", y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now for plotting you need a mesh so you mesh em up using the function np.meshgrid"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The shapes are now 2D, X shape : (5, 10) Y shape : (5, 10)\n",
"\n",
" X is : [[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]\n",
" [ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]\n",
" [ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]\n",
" [ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]\n",
" [ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]] \n",
" \n",
" Y is : [[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. ]\n",
" [ 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4]\n",
" [ 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8]\n",
" [ 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2 1.2]\n",
" [ 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6 1.6]]\n"
]
}
],
"source": [
"X, Y = np.meshgrid(x, y)\n",
"\n",
"print (\"The shapes are now 2D, X shape : \", X.shape, \"Y shape :\", Y.shape)\n",
"\n",
"print (\"\\n X is : \", X, \"\\n \\n Y is : \", Y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we need the Z. Z has to be a (5, 10) matrix. Lets use some random values"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The shape of Z is : (5, 10)\n",
"Z is : [[ 4.50789614e-01 8.36908632e-01 3.07263198e-01 3.48629068e-01\n",
" 5.30373032e-01 2.15371860e-01 6.57240469e-02 9.14593467e-01\n",
" 6.95551984e-01 7.57656241e-01]\n",
" [ 6.16419016e-01 3.39706031e-01 6.30294765e-01 7.08492349e-03\n",
" 1.30968336e-02 3.79156746e-01 4.77630296e-01 6.79617183e-02\n",
" 6.91331496e-01 6.18895018e-01]\n",
" [ 1.25802409e-01 8.02363535e-01 2.61679197e-01 9.51617603e-01\n",
" 9.20103328e-01 6.36215258e-03 2.82524373e-01 6.21787021e-02\n",
" 8.09277116e-01 1.62605196e-01]\n",
" [ 9.59712569e-02 6.74279846e-01 7.09212681e-01 6.16031208e-02\n",
" 5.61907486e-04 9.82884487e-01 6.48054978e-03 2.17470656e-01\n",
" 2.68916033e-02 3.99234401e-01]\n",
" [ 8.08140873e-01 4.17337226e-01 1.94712547e-01 9.19951302e-01\n",
" 3.33830411e-01 8.23701359e-01 2.50760471e-02 6.61119565e-01\n",
" 2.67975390e-01 4.17112990e-01]]\n"
]
}
],
"source": [
"Z = np.random.rand(5,10)\n",
"\n",
"print (\"The shape of Z is :\", Z.shape)\n",
"print (\"Z is :\", Z)\n",
"\n",
"# Z = np.arange(-1, 1, 0.01)\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Initialize a figure by plt.figure()\n",
"Add the properties you need for the figure by making an axis handle ax and the projection as 3d"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0xb04b416c>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure()\n",
"ax = fig.gca(projection='3d')\n",
"\n",
"surf = ax.plot_surface(X, Y, Z)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now you dont need a 3d but a contour plot"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0xac8d84cc>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.contourf(X, Y, Z)\n",
"plt.colorbar()\n",
"plt.show()"
]
}
],
"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.4.3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment