{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "'1.9.3'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#check if plotly is installed version\n", "#otherwise pip install plotly \n", "import plotly \n", "\n", "plotly.__version__" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#import matplotlib \n", "import matplotlib.pyplot as plt \n", "import numpy as np \n", "%matplotlib inline \n", "\n", "# Package all mpl plotting commands inside one function\n", "def plot_mpl_fig():\n", " \n", " # Make two time arrays\n", " t1 = np.arange(0.0, 2.0, 0.1)\n", " t2 = np.arange(0.0, 2.0, 0.01)\n", "\n", " # N.B. .plot() returns a list of lines. \n", " # The \"l1, = plot\" usage extracts the first element of the list \n", " # into l1 using tuple unpacking. \n", " # So, l1 is a Line2D instance, not a sequence of lines\n", " l1, = plt.plot(t2, np.exp(-t2), label='decaying exp.')\n", " l2, l3 = plt.plot(t2, np.sin(2 * np.pi * t2), '--go', \n", " t1, np.log(1 + t1), '.')\n", " l4, = plt.plot(t2, np.exp(-t2) * np.sin(2 * np.pi * t2), 'rs-.')\n", "\n", " # Add axis labels and title\n", " plt.xlabel('time')\n", " plt.ylabel('volts')\n", " plt.title('Damped oscillation')\n", " \n", " return (l1, l2, l3, l4) # return line objects (for legend, later)\n", "\n", "# Plot it!\n", "plot_mpl_fig()\n", "\n", "#assigning current matplotlib object\n", "#gcf stands for get current figure. \n", "mpl_fig1 = plt.gcf()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#converting above matplotlib into potly \n", "#communicates wit plotly server \n", "import plotly.plotly as py\n", "\n", "#plotly tools \n", "#use tls.set_credentails_file(username='yourusername' api_key='yourapikey')\n", "#use tls.get_credentials_file() to view authentication details of plotly \n", "#Refer https://plot.ly/python/user-guide/ for more infor \n", "import plotly.tools as tls \n", "\n", "#Graph objects \n", "from plotly.graph_objs import * \n", "\n", "py_fig1 = tls.mpl_to_plotly(mpl_fig1,verbose=False)\n", "#uncomment below line to view the data \n", "#py_fig1.to_string()\n", "py.iplot_mpl(mpl_fig1, strip_style=True, filename='s6_damped_oscillation')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "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.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }