diff --git a/3d_visualization__1_.ipynb b/3d_visualization__1_.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..63966c8a06d2c430d747d656081ce82717cedd1b --- /dev/null +++ b/3d_visualization__1_.ipynb @@ -0,0 +1,82 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "from mpl_toolkits.mplot3d import axes3d \n", + "import matplotlib.pyplot as plt \n", + "from matplotlib import style \n", + "import numpy as np \n", + " \n", + "# setting a custom style to use \n", + "style.use('ggplot') \n", + " \n", + "# create a new figure for plotting \n", + "fig = plt.figure() \n", + " \n", + "# create a new subplot on our figure \n", + "# and set projection as 3d \n", + "ax1 = fig.add_subplot(111, projection='3d') \n", + " \n", + "# defining x, y, z co-ordinates \n", + "x = np.random.randint(0, 10, size = 20) \n", + "y = np.random.randint(0, 10, size = 20) \n", + "z = np.random.randint(0, 10, size = 20) \n", + " \n", + "# plotting the points on subplot \n", + " \n", + " \n", + "# setting labels for the axes \n", + "ax1.set_xlabel('x-axis') \n", + "ax1.set_ylabel('y-axis') \n", + "ax1.set_zlabel('z-axis') \n", + " \n", + "# function to show the plot \n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}