Created
July 18, 2015 20:01
-
-
Save santosjorge/f3b07b2be8094deea8c6 to your computer and use it in GitHub Desktop.
Cufflinks Basic Tutorial
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"##Cufflinks\n", | |
"\n", | |
"This library binds the power of [plotly](http://www.plot.ly) with the flexibility of [pandas](http://pandas.pydata.org/) for easy plotting.\n", | |
"\n", | |
"This library is available on https://github.com/santosjorge/cufflinks\n", | |
"\n", | |
"This tutorial assumes that the plotly user credentials have already been configured as stated on the [getting started](https://plot.ly/python/getting-started/) guide." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"import pandas as pd\n", | |
"import cufflinks as cf\n", | |
"import numpy as np" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"%reload_ext autoreload\n", | |
"%autoreload 2" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We make all charts public and set a global theme" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"cf.set_config_file(world_readable=True,theme='pearl')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We create a set of timeseries" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 26, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"df=pd.DataFrame(np.random.randn(100,5),index=pd.date_range('1/1/15',periods=100),\n", | |
" columns=['IBM','MSFT','GOOG','VERZ','APPL'])\n", | |
"df=df.cumsum()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"**iplot** can be used on any DataFrame to plot on a plotly chart. \n", | |
"If no filename is specified then a generic *Plotly Playground* file is created.\n", | |
"\n", | |
"All the charts are created as private by default. To make them public you can use **world_readable=True**\n", | |
"\n", | |
"Let's look at the avilable parameters" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Help on method _iplot in module cufflinks.plotlytools:\n", | |
"\n", | |
"_iplot(self, data=None, layout=None, filename='', world_readable=None, kind='scatter', title='', xTitle='', yTitle='', zTitle='', theme=None, colors=None, colorscale=None, fill=False, width=None, mode='lines', symbol='dot', size=12, barmode='', sortbars=False, bargap=None, bargroupgap=None, bins=None, histnorm='', histfunc='count', orientation='v', boxpoints=False, annotations=None, keys=False, bestfit=False, bestfit_colors=None, categories='', x='', y='', z='', text='', gridcolor=None, zerolinecolor=None, margin=None, subplots=False, shape=None, asFrame=False, asDates=False, asFigure=False, asImage=False, dimensions=(1116, 587), asPlot=False, asUrl=False, **kwargs) method of pandas.core.frame.DataFrame instance\n", | |
" Returns a plotly chart either as inline chart, image of Figure object\n", | |
" \n", | |
" Parameters:\n", | |
" -----------\n", | |
" data : Data\n", | |
" Plotly Data Object.\n", | |
" If not entered then the Data object will be automatically\n", | |
" generated from the DataFrame.\n", | |
" data : Data\n", | |
" Plotly Data Object.\n", | |
" If not entered then the Data object will be automatically\n", | |
" generated from the DataFrame.\n", | |
" layout : Layout\n", | |
" Plotly layout Object\n", | |
" If not entered then the Layout objet will be automatically\n", | |
" generated from the DataFrame.\n", | |
" filename : string\n", | |
" Filename to be saved as in plotly account\n", | |
" world_readable : bool\n", | |
" If False then it will be saved as a private file\n", | |
" kind : string\n", | |
" Kind of chart\n", | |
" scatter\n", | |
" bar\n", | |
" box\n", | |
" spread\n", | |
" ratio\n", | |
" heatmap\n", | |
" surface\n", | |
" histogram\n", | |
" bubble\n", | |
" bubble3d\n", | |
" scatter3d \n", | |
" title : string\n", | |
" Chart Title \n", | |
" xTitle : string\n", | |
" X Axis Title\n", | |
" yTitle : string\n", | |
" Y Axis Title\n", | |
" zTitle : string\n", | |
" zTitle : string\n", | |
" Z Axis Title\n", | |
" Applicable only for 3d charts\n", | |
" theme : string\n", | |
" Layout Theme\n", | |
" solar\n", | |
" pearl\n", | |
" white \n", | |
" see cufflinks.getThemes() for all \n", | |
" available themes\n", | |
" colors : list or dict\n", | |
" {key:color} to specify the color for each column\n", | |
" [colors] to use the colors in the defined order\n", | |
" colorscale : str \n", | |
" Color scale name\n", | |
" If the color name is preceded by a minus (-) \n", | |
" then the scale is inversed\n", | |
" Only valid if 'colors' is null\n", | |
" See cufflinks.colors.scales() for available scales\n", | |
" fill : bool\n", | |
" Filled Traces \n", | |
" width : int\n", | |
" Line width \n", | |
" mode : string\n", | |
" Plotting mode for scatter trace\n", | |
" lines\n", | |
" markers\n", | |
" lines+markers\n", | |
" lines+text\n", | |
" markers+text\n", | |
" lines+markers+text \n", | |
" symbol : string\n", | |
" The symbol that is drawn on the plot for each marker\n", | |
" Valid only when mode includes markers\n", | |
" dot\n", | |
" cross\n", | |
" diamond\n", | |
" square\n", | |
" triangle-down\n", | |
" triangle-left\n", | |
" triangle-right\n", | |
" triangle-up\n", | |
" x\n", | |
" size : string or int \n", | |
" Size of marker \n", | |
" Valid only if marker in mode\n", | |
" barmode : string\n", | |
" Mode when displaying bars\n", | |
" group\n", | |
" stack\n", | |
" overlay\n", | |
" * Only valid when kind='bar'\n", | |
" sortbars : bool\n", | |
" Sort bars in descending order\n", | |
" * Only valid when kind='bar'\n", | |
" bargap : float\n", | |
" Sets the gap between bars\n", | |
" [0,1)\n", | |
" * Only valid when kind is 'histogram' or 'bar'\n", | |
" bargroupgap : float\n", | |
" Set the gap between groups\n", | |
" [0,1)\n", | |
" * Only valid when kind is 'histogram' or 'bar' \n", | |
" bins : int\n", | |
" Specifies the number of bins \n", | |
" * Only valid when kind='histogram'\n", | |
" histnorm : string\n", | |
" '' (frequency)\n", | |
" percent\n", | |
" probability\n", | |
" density\n", | |
" probability density\n", | |
" Sets the type of normalization for an histogram trace. By default\n", | |
" the height of each bar displays the frequency of occurrence, i.e., \n", | |
" the number of times this value was found in the\n", | |
" corresponding bin. If set to 'percent', the height of each bar\n", | |
" displays the percentage of total occurrences found within the\n", | |
" corresponding bin. If set to 'probability', the height of each bar\n", | |
" displays the probability that an event will fall into the\n", | |
" corresponding bin. If set to 'density', the height of each bar is\n", | |
" equal to the number of occurrences in a bin divided by the size of\n", | |
" the bin interval such that summing the area of all bins will yield\n", | |
" the total number of occurrences. If set to 'probability density',\n", | |
" the height of each bar is equal to the number of probability that an\n", | |
" event will fall into the corresponding bin divided by the size of\n", | |
" the bin interval such that summing the area of all bins will yield\n", | |
" 1.\n", | |
" * Only valid when kind='histogram'\n", | |
" histfunc : string\n", | |
" count\n", | |
" sum\n", | |
" avg\n", | |
" min\n", | |
" max\n", | |
" Sets the binning function used for an histogram trace. \n", | |
" * Only valid when kind='histogram' \n", | |
" orientation : string\n", | |
" h \n", | |
" v\n", | |
" Sets the orientation of the bars. If set to 'v', the length of each\n", | |
" | bar will run vertically. If set to 'h', the length of each bar will\n", | |
" | run horizontally\n", | |
" * Only valid when kind is 'histogram','bar' or 'box'\n", | |
" boxpoints : string\n", | |
" Displays data points in a box plot\n", | |
" outliers\n", | |
" all\n", | |
" suspectedoutliers\n", | |
" False\n", | |
" annotations : dictionary\n", | |
" Dictionary of annotations\n", | |
" {x_point : text}\n", | |
" keys : list of columns\n", | |
" List of columns to chart.\n", | |
" Also can be usded for custom sorting.\n", | |
" bestfit : boolean or list\n", | |
" If True then a best fit line will be generated for\n", | |
" all columns.\n", | |
" If list then a best fit line will be generated for\n", | |
" each key on the list.\n", | |
" bestfit_colors : list or dict\n", | |
" {key:color} to specify the color for each column\n", | |
" [colors] to use the colors in the defined order \n", | |
" categories : string\n", | |
" Name of the column that contains the categories\n", | |
" x : string\n", | |
" Name of the column that contains the x axis values \n", | |
" y : string\n", | |
" Name of the column that contains the y axis values\n", | |
" z : string\n", | |
" Name of the column that contains the z axis values \n", | |
" text : string\n", | |
" Name of the column that contains the text values \n", | |
" gridcolor : string\n", | |
" Grid color \n", | |
" zerolinecolor : string\n", | |
" Zero line color\n", | |
" margin : dict or tuple\n", | |
" Dictionary (l,r,b,t) or\n", | |
" Tuple containing the left,\n", | |
" right, bottom and top margins\n", | |
" subplots : bool\n", | |
" If true then each trace is placed in \n", | |
" subplot layout\n", | |
" shape : (rows,cols)\n", | |
" Tuple indicating the size of rows and columns\n", | |
" If omitted then the layout is automatically set\n", | |
" * Only valid when subplots=True\n", | |
" asFrame : bool\n", | |
" If true then the data component of Figure will\n", | |
" be of Pandas form (Series) otherwise they will \n", | |
" be index values\n", | |
" asDates : bool\n", | |
" If true it truncates times from a DatetimeIndex\n", | |
" asFigure : bool\n", | |
" If True returns plotly Figure\n", | |
" asImage : bool\n", | |
" If True it returns Image\n", | |
" * Only valid when asImage=True\n", | |
" dimensions : tuple(int,int)\n", | |
" Dimensions for image\n", | |
" (width,height) \n", | |
" asPlot : bool\n", | |
" If True the chart opens in browser\n", | |
" asUrl : bool\n", | |
" If True the chart url is returned. No chart is displayed.\n", | |
"\n" | |
] | |
} | |
], | |
"source": [ | |
"help(df.iplot)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 27, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe id=\"igraph\" scrolling=\"no\" style=\"border:none;\"seamless=\"seamless\" src=\"https://plot.ly/~jorgesantos/61.embed\" height=\"525\" width=\"100%\"></iframe>" | |
], | |
"text/plain": [ | |
"<plotly.tools.PlotlyDisplay object>" | |
] | |
}, | |
"execution_count": 27, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.iplot(filename='Tutorial 1')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Customizing Themes\n", | |
"\n", | |
"We can pass a **theme** to the **iplot** function. \n", | |
"3 themes are available, but you can create your own\n", | |
"* Solar\n", | |
"* Pearl (Default)\n", | |
"* White" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 28, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe id=\"igraph\" scrolling=\"no\" style=\"border:none;\"seamless=\"seamless\" src=\"https://plot.ly/~jorgesantos/74.embed\" height=\"525\" width=\"100%\"></iframe>" | |
], | |
"text/plain": [ | |
"<plotly.tools.PlotlyDisplay object>" | |
] | |
}, | |
"execution_count": 28, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df[['APPL','IBM','VERZ']].iplot(theme='white',filename='Tutorial White')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can also pass common metadata for the chart" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 29, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe id=\"igraph\" scrolling=\"no\" style=\"border:none;\"seamless=\"seamless\" src=\"https://plot.ly/~jorgesantos/64.embed\" height=\"525\" width=\"100%\"></iframe>" | |
], | |
"text/plain": [ | |
"<plotly.tools.PlotlyDisplay object>" | |
] | |
}, | |
"execution_count": 29, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.iplot(theme='pearl',filename='Tutorial Metadata',title='Stock Returns',xTitle='Dates',yTitle='Returns')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Bestfit Lines\n", | |
"\n", | |
"We can easily add a bestfit line to any Series\n", | |
"\n", | |
"This will automatically add a best fit approximation and the equation as the legend." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 30, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe id=\"igraph\" scrolling=\"no\" style=\"border:none;\"seamless=\"seamless\" src=\"https://plot.ly/~jorgesantos/65.embed\" height=\"525\" width=\"100%\"></iframe>" | |
], | |
"text/plain": [ | |
"<plotly.tools.PlotlyDisplay object>" | |
] | |
}, | |
"execution_count": 30, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df['IBM'].iplot(filename='IBM Returns',bestfit=True)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Customizing Colors\n", | |
"\n", | |
"We can pass any color (either by Hex, RGB or Text *) \n", | |
"\n", | |
"*Text values are specified in the cufflinks.colors modules" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 31, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe id=\"igraph\" scrolling=\"no\" style=\"border:none;\"seamless=\"seamless\" src=\"https://plot.ly/~jorgesantos/66.embed\" height=\"525\" width=\"100%\"></iframe>" | |
], | |
"text/plain": [ | |
"<plotly.tools.PlotlyDisplay object>" | |
] | |
}, | |
"execution_count": 31, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df['IBM'].iplot(filename='IBM Returns - colors',bestfit=True,colors=['pink'],bestfit_colors=['blue'])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Filled Traces\n", | |
"\n", | |
"We can add a fill to a trace with **fill=True**" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 32, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe id=\"igraph\" scrolling=\"no\" style=\"border:none;\"seamless=\"seamless\" src=\"https://plot.ly/~jorgesantos/72.embed\" height=\"525\" width=\"100%\"></iframe>" | |
], | |
"text/plain": [ | |
"<plotly.tools.PlotlyDisplay object>" | |
] | |
}, | |
"execution_count": 32, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df['IBM'].iplot(filename='Tutorial Microsoft',fill=True,colors=['green'])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Bar Charts\n", | |
"\n", | |
"We can easily create a bar chart with the parameter **kind**" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 33, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe id=\"igraph\" scrolling=\"no\" style=\"border:none;\"seamless=\"seamless\" src=\"https://plot.ly/~jorgesantos/67.embed\" height=\"525\" width=\"100%\"></iframe>" | |
], | |
"text/plain": [ | |
"<plotly.tools.PlotlyDisplay object>" | |
] | |
}, | |
"execution_count": 33, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.sum().iplot(kind='bar',filename='Tutorial Barchart')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Bars can also be stacked by a given dimension" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 34, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe id=\"igraph\" scrolling=\"no\" style=\"border:none;\"seamless=\"seamless\" src=\"https://plot.ly/~jorgesantos/80.embed\" height=\"525\" width=\"100%\"></iframe>" | |
], | |
"text/plain": [ | |
"<plotly.tools.PlotlyDisplay object>" | |
] | |
}, | |
"execution_count": 34, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.resample('M').iplot(kind='bar',barmode='stacked',filename='Tutorial Bar Stacked')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Spread and Ratio charts\n", | |
"\n", | |
"We can also create spread and ratio charts on the fly with **kind='spread'** and **kind='ratio'**" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 35, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe id=\"igraph\" scrolling=\"no\" style=\"border:none;\"seamless=\"seamless\" src=\"https://plot.ly/~jorgesantos/68.embed\" height=\"525\" width=\"100%\"></iframe>" | |
], | |
"text/plain": [ | |
"<plotly.tools.PlotlyDisplay object>" | |
] | |
}, | |
"execution_count": 35, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df[['VERZ','IBM']].iplot(filename='Tutorial Spread',kind='spread')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 55, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe id=\"igraph\" scrolling=\"no\" style=\"border:none;\"seamless=\"seamless\" src=\"https://plot.ly/~jorgesantos/69.embed\" height=\"525\" width=\"100%\"></iframe>" | |
], | |
"text/plain": [ | |
"<plotly.tools.PlotlyDisplay object>" | |
] | |
}, | |
"execution_count": 55, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"(df[['GOOG','MSFT']]+20).iplot(filename='Tutorial Ratio',kind='ratio',colors=['green','red'])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Annotations\n", | |
"\n", | |
"Annotations can be added to the chart and these are automatically positioned correctly. \n", | |
"\n", | |
"**Annotations** should be specified in a dictionary form" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 56, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe id=\"igraph\" scrolling=\"no\" style=\"border:none;\"seamless=\"seamless\" src=\"https://plot.ly/~jorgesantos/73.embed\" height=\"525\" width=\"100%\"></iframe>" | |
], | |
"text/plain": [ | |
"<plotly.tools.PlotlyDisplay object>" | |
] | |
}, | |
"execution_count": 56, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"annotations={'2015-01-15':'Dividends','2015-03-31':'Split Announced'}\n", | |
"df['MSFT'].iplot(filename='Tutorial Annotations',annotations=annotations)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Output as Image\n", | |
"\n", | |
"The output of a chart can be in an image mode as well. \n", | |
"\n", | |
"For this we can use **asImage=True**\n", | |
"\n", | |
"We can also set the dimensions (optional) with **dimensions=(width,height)**" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 61, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAH0CAYAAADFQEl4AAAgAElEQVR4XuydC5xVZbn/n4FBBh2Y\nQRHRUMYUxLzhHdMDmJYesQSzREsFL3nt71gpXUQ0tdQ6OlaGlndPpmWKKaapR/BgYaHgUQvFZEAT\nRJDhJsN1/p/f2vMOe/astde7Ls/aa+39W58PH5R513v5Pu/es37rfS5VbW1tbcKLBEiABEiABEiA\nBEiABEiABBIgUEUBkgBlDkECJEACJEACJEACJEACJOAQoADhRiABEiABEiABEiABEiABEkiMAAVI\nYqg5EAmQAAmQAAmQAAmQAAmQAAUI9wAJkAAJkAAJkAAJkAAJkEBiBChAEkPNgUiABEiABEiABEiA\nBEiABChAuAdIgARIgARIgARIgARIgAQSI0ABkhhqDkQCJEACJEACJEACJEACJEABwj1AAiRAAiRA\nAiRAAiRAAiSQGAEKkMRQcyASIAESIAESIAESIAESIAEKEO4BEiABEiABEiABEiABEiCBxAhQgCSG\nmgORAAmQAAmQAAmQAAmQAAlQgHAPkAAJkAAJkAAJkAAJkAAJJEaAAiQx1ByIBEiABEiABEiABEiA\nBEiAAoR7gARIgARIgARIgARIgARIIDECFCCJoeZAJEACJEACJEACJEACJEACFCDcAyRAAiRAAiRA\nAiRAAiRAAokRoABJDDUHIgESIAESIAESIAESIAESoADhHiABEiABEiABEiABEiABEkiMAAVIYqg5\nEAmQAAmQAAmQAAmQAAmQAAUI9wAJkAAJkAAJkAAJkAAJkEBiBChAEkPNgUiABEiABEiABEiABEiA\nBChAuAdIgARIgARIgARIgARIgAQSI0ABkhhqDkQCJEACJEACJEACJEACJEABwj1AAiRAAiRAAiRA\nAiRAAiSQGAEKkMRQcyASIAESIAESIAESIAESIAEKEO4BEiABEiABEiABEiABEiCBxAhQgCSGmgOR\nAAmQAAmQAAmQAAmQAAlQgHAPkAAJkAAJkAAJkAAJkAAJJEaAAiQx1ByIBEiABEiABEiABEiABEiA\nAoR7gARIgARIgARIgARIgARIIDECFCCJoeZAJEACJEACJEACJEACJEACFCDcAyRAAiRAAiRAAiRA\nAiRAAokRoABJDDUHIgESIAESIAESIAESIAESoADhHiABEiABEiABEiABEiABEkiMAAVIYqg5EAmQ\nAAmQAAmQAAmQAAmQAAUI9wAJkAAJkAAJkAAJkAAJkEBiBChAEkPNgUiABEiABEiABEiABEiABChA\nuAdIgARIgARIgARIgARIgAQSI0ABkhhqDkQCJEACJEACJEACJEACJEABwj1AAiRAAiRAAiRAAiRA\nAiSQGAEKkMRQcyASIAESIAESIAESIAESIAEKEO4BEiABEiABEiABEiABEiCBxAhQgCSGmgORAAmQ\nAAmQAAmQAAmQAAlQgHAPkAAJkAAJkAAJkAAJkAAJJEaAAiQx1ByIBEiABEiABEiABEiABEiAAoR7\ngARIgARIgARIgARIgARIIDECFCCJoeZAJEACJEACJEACJEACJEACFCDcAyRAAiRAAiRAAiRAAiRA\nAokRoABJDDUHIgESIAESIAESIAESIAESoADhHiABEiABEiABEiABEiABEkiMAAVIYqg5EAmQAAmQ\nAAmQAAmQAAmQAAUI9wAJkAAJkAAJkAAJkAAJkEBiBChAEkPNgUiABEiABEiABEiABEiABChAuAdI\ngARIgARIgARIgARIgAQSI0ABkhhqDkQCJEACJEACJEACJEACJEABwj1AAiRAAiRAAiRAAiRAAiSQ\nGAEKkMRQcyASIAESIAESIAESIAESIAEKEO4BEiABEiABEiABEiABEiCBxAhQgCSGmgORAAmQAAmQ\nAAmQAAmQAAlQgHAPkAAJkAAJkAAJkAAJkAAJJEaAAiQx1ByIBEiABEiABEiABEiABEiAAoR7gARI\ngARIgARIgARIgARIIDECFCCJoeZAJEACJEACJEACJEACJEACFCDcAyRAAiRAAiRAAiRAAiRAAokR\noABJDDUHIgESIAESIAESIAESIAESoADhHiABEiABEiABEiABEiABEkiMAAVIYqg5EAmQAAmQAAmQ\nAAmQAAmQAAUI9wAJkAAJkAAJkAAJkAAJkEBiBChAEkPNgUiABEiABEiABEiABEiABChAuAdIgARI\ngARIgARIgARIgAQSI0ABkhhqDkQCJEACJEACJEACJEACJEABwj1AAiRAAiRAAiRAAiRAAiSQGAEK\nkMRQcyASIAESIAESIAESIAESIAEKEO4BEiABEiABEiABEiABEiCBxAhQgCSGmgORAAmQAAmQAAmQ\nAAmQAAlQgHAPkAAJkAAJkAAJkAAJkAAJJEaAAiQx1ByIBEiABEiABEiABEiABEiAAoR7gARIgARI\ngARIgARIgARIIDECFCCJoeZAJEACJEACJEACJEACJEACFCDcAyRAAiRAAiRAAiRAAiRAAokRoABJ\nDDUHIgESIAESIAESIAESIAESoADhHiABEiABEiABEiABEiABEkiMAAVIYqg5EAmQAAmQAAmQAAmQ\nAAmQAAUI9wAJkAAJkAAJkAAJkAAJkEBiBChAEkPNgUiABEiABEiABEiABEiABChAuAdIgARIgARI\ngARIgARIgAQSI0ABkhhqDkQCJEACJEACJEACJEACJEABwj1AAiRAAiRAAiRAAiRAAiSQGAEKkMRQ\ncyASIAESIAESIAESIAESIAEKEO4BEiABEiABEiABEiABEiCBxAhQgCSGmgORAAmQAAmQAAmQAAmQ\nAAlQgHAPkAAJkAAJkAAJkAAJkAAJJEaAAiQx1ByIBEiABEiABEiABEiABEiAAoR7gARIgARIgARI\ngARIgARIIDECFCCJoeZAJEACJEACJEACJEACJEACFCDcAyRAAiRAAiRAAiRAAiRAAokRoABJDDUH\nIgESIAESIAESIAESIAESoADhHiABEiABEiABEiABEiABEkiMAAVIYqg5EAmQAAmQAAmQAAmQAAmQ\nAAUI90AoAh982CL9+/WR6u7dQt3Pm7wJbNi4ST5u+UQG7NiHmBQItKz6RLp16yZ9amsUemeXi5eu\nlH7b10qP6u6EETOBjZs2y7KP18jO/eti7pndgcDK1escEHW9exGIAoHFH62Ufn353aCANpNdUoBk\n0mylnzQFiJ4NKED02KJnChBdvhQgenwpQPTYUoDoskXvFCD6jLM0AgVIlqyVorlSgOgZgwJEjy0F\niC5b5yGDJyBqkClA1NA6HfMERJcvBYgu36z1TgGSNYulZL4UIHqGoADRY0sBosuWAkSXLwWILl8K\nEF2+FCC6fLPWOwVI1iyWkvlSgOgZggJEjy0FiC5bChBdvhQgunwpQHT5UoDo8s1a7xQgWbNYSuZL\nAaJnCAoQPbYUILpsKUB0+VKA6PKlANHlSwGiyzdrvVOAZM1iKZkvBYieIShA9NhSgOiypQDR5UsB\nosuXAkSXLwWILt+s9U4BkjWLpWS+FCB6hqAA0WNLAaLLlgJEly8FiC5fChBdvhQgunyz1jsFSNYs\nlpL5UoDoGYICRI8tBYguWwoQXb4UILp8KUB0+VKA6PLNWu8UIFmzWErmSwGiZwgKED22FCC6bClA\n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\nqTLFhspviSVb0ZYtbQIRAr5eV++Ln5du762WlX8cYz1P555Fq2TlE2M77ql5cJ5s94P/leULzrPu\nJ+sNN2zc7NTI6lHdPetLSeX817VulJ49q6WbwndD/h6u++Jjsmm/HWXtj/SKKqYN8Ja2Nlm/fpP0\nqvH+bkh6zmff87oM36NevjFiV8+huy9aLb1u+pvg+2bLrr3lk4mHyab9+glsuHlQH1n5x7HSVreN\nc3+Pmf+Wui9Ndb6TzL/ZrGn7A+6XjUd9Slbf1rk4Za8pr8m2N/5Nljf7f8dt3Lg5N4ceyX439Nv+\nNlnzi2Ok9XT3+jzg5vUzw2abaQukzxlPBeZmwzauNuvWb5Tt3mqR7Uf9TlbMPVM279Y7rq6t+unX\nt9aqHRslQ4ACxIfzxyta5Ic3/Ex+fPUVcv9v/yCfGTq4kwD5ZN2GZCyVslFWrPxE+vTuJd27tVc7\nTdn8sjydTZs3y5q1G6S+Ty/vX+gvvi89j/+9rPvnOdKGjEAWV6+975JNX/+MbPzBER2tu5t+Fl8k\nbSgYVQHXJ+vWS1VVt1Q9xKUVe/UDb0r33/xDNjz8Jev9gROm3tvVSPfu3WJfVs1xv5fNIwY6e3ib\ny6dLt//7SFqf+Urs46S1w82bt8jqta1S32fb1EzxkdmL5f6X3pMHLzhIantWd5pX1cr10uOKGYJ9\n1LZbb8dum87Yp6NN1cJV0vOrf5SqVetl/cNfki377yjVv5gjPa77q6xbclGgNWKMbc7/c5fvxCD7\n5JPW3O/zbWtyYiipK39fF47Z/Yl/Sc9T/ygb7vhCJ3aF7Zx1vvi+tL789aSmHXgc893Qu/etjr03\nf3GPwH1EuWHbXsnaNcpcK+Heihcgb86bL7+6+8Eutj77jK/IAft9Rq676edy0ujPy377DJU77v5N\nFwFSCZvEbY10wdKzvK8LlhkaAeSoMOvl95w/Ra+Uuxp56PXQxNIzXbACYET2ILjMTD7SOmhU1QUr\nP8VoBboPps0FCzupaEpe1Bla0JLbO15pYfEdNOYPIq8tFXnh9FwQ9dwPw8UIuMWCBHDVK4kLFiB6\nZfJC0oWjHxRpE5G+NcUrpiPQfuRuIk2dT4ACfNrVm8IFC6cQPY59OFeoMMVzVYfBAaTiBUixPfD8\n9JfknQUL5fwJuWApCpCttChA9L49rAUIflEjFemCC/1zqhfLq19hwbwUIAH2bn7RP8uUt2oCpFAs\n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\n0XsQAAEQAAEQAAEQAAEQMJUABMRU3KgMBEAABEAABEAABEAABNxNAALi7vij9yAAAiAAAiAAAiAA\nAiBgKgEIiKm4URkIgAAIgAAIgAAIgAAIuJsABMTd8UfvQQAEQAAEQAAEQAAEQMBUAhAQU3GjMhAA\nARAAARAAARAAARBwNwEIiLvjj96DAAiAAAiAAAiAAAiAgKkEICCm4kZlIAACIAACIAACIAACIOBu\nAhAQd8cfvQcBEAABEAABEAABEAABUwlAQEzFjcpAAARAAARAAARAAARAwN0EICDujj96DwIgAAIg\nAAIgAAIgAAKmEoCAmIoblYEACIAACIAACIAACICAuwlAQNwdf/QeBEAABEAABEAABEAABEwlAAEx\nFTcqAwEQAAEQAAEQAAEQAAF3E4CAuDv+6D0IgAAIgAAIgAAIgAAImEoAAmIqblQGAiAAAiAAAiAA\nAiAAAu4mAAFxd/zRexAAARAAARAAARAAARAwlQAExFTcqAwEQAAEQAAEQAAEQAAE3E0AAuLu+KP3\nIAACIAACIAACIAACIGAqAQiIqbhRGQiAAAiAAAiAAAiAAAi4mwAExN3xR+9BAARAAARAAARAAARA\nwFQCEBBTcaMyEAABEAABEAABEAABEHA3AQiIu+OP3oMACIAACIAACIAACICAqQQgIKbiRmUgAAIg\nAAIgAAIgAAIg4G4CEBB3xx+9BwEQAAEQAAEQAAEQAAFTCUBATMWNykAABEAABEAABEAABEDA3QQg\nIO6OP3oPAiAAAiAAAiAAAiAAAqYSgICYihuVgQAIgAAIgAAIgAAIgIC7CUBA3B1/9B4EQAAEQAAE\nQAAEQAAETCUAATEVNyoDARAAARAAARAAARAAAXcTgIC4O/7oPQiAAAiAAAiAAAiAAAiYSgACYipu\nVAYCIAACIAACIAACIAAC7iYAAXF3/NF7EAABEAABEAABEAABEDCVAATEVNyoDARAAARAAARAAARA\nAATcTQAC4u74o/cgAAIgAAIgAAIgAAIgYCoBCIipuFEZCIAACIAACIAACIAACLibAATE3fFH70EA\nBEAABEAABEAABEDAVAIQEFNxozIQAAEQAAEQAAEQAAEQcDcBCIi744/egwAIgAAIgAAIgAAIgICp\nBCAgpuJGZSAAAiAAAiAAAiAAAiDgbgIQEHfHH70HARAAARAAARAAARAAAVMJQEBMxY3KQAAEQAAE\nQAAEQAAEQMDdBCAg7o4/eg8CIAACIAACIAACIAACphKAgJiKG5WBAAiAAAiAAAiAAAiAgLsJQEDc\nHX/0HgRAAARAAARAAARAAARMJQABMRU3KgMBEAABEAABEAABEAABdxP4f0jcFQGZtGbtAAAAAElF\nTkSuQmCC\n", | |
"text/plain": [ | |
"<IPython.core.display.Image object>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"df[['VERZ','MSFT']].iplot(filename='Tutorial Image',theme='white',colors=['pink','blue'],asImage=True,dimensions=(800,500))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Advanced Use\n", | |
"\n", | |
"It is also possible to get the Plotly Figure as an output to tweak it manually\n", | |
"\n", | |
"We can achieve this with **asFigure=True**" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 62, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"{'data': [{'line': {'color': 'rgba(255, 153, 51, 1.0)', 'width': '1.3'},\n", | |
" 'mode': 'lines',\n", | |
" 'name': 'GOOG',\n", | |
" 'type': u'scatter',\n", | |
" 'x': ['2015-01-01',\n", | |
" '2015-01-02',\n", | |
" '2015-01-03',\n", | |
" '2015-01-04',\n", | |
" '2015-01-05',\n", | |
" '2015-01-06',\n", | |
" '2015-01-07',\n", | |
" '2015-01-08',\n", | |
" '2015-01-09',\n", | |
" '2015-01-10',\n", | |
" '2015-01-11',\n", | |
" '2015-01-12',\n", | |
" '2015-01-13',\n", | |
" '2015-01-14',\n", | |
" '2015-01-15',\n", | |
" '2015-01-16',\n", | |
" '2015-01-17',\n", | |
" '2015-01-18',\n", | |
" '2015-01-19',\n", | |
" '2015-01-20',\n", | |
" '2015-01-21',\n", | |
" '2015-01-22',\n", | |
" '2015-01-23',\n", | |
" '2015-01-24',\n", | |
" '2015-01-25',\n", | |
" '2015-01-26',\n", | |
" '2015-01-27',\n", | |
" '2015-01-28',\n", | |
" '2015-01-29',\n", | |
" '2015-01-30',\n", | |
" '2015-01-31',\n", | |
" '2015-02-01',\n", | |
" '2015-02-02',\n", | |
" '2015-02-03',\n", | |
" '2015-02-04',\n", | |
" '2015-02-05',\n", | |
" '2015-02-06',\n", | |
" '2015-02-07',\n", | |
" '2015-02-08',\n", | |
" '2015-02-09',\n", | |
" '2015-02-10',\n", | |
" '2015-02-11',\n", | |
" '2015-02-12',\n", | |
" '2015-02-13',\n", | |
" '2015-02-14',\n", | |
" '2015-02-15',\n", | |
" '2015-02-16',\n", | |
" '2015-02-17',\n", | |
" '2015-02-18',\n", | |
" '2015-02-19',\n", | |
" '2015-02-20',\n", | |
" '2015-02-21',\n", | |
" '2015-02-22',\n", | |
" '2015-02-23',\n", | |
" '2015-02-24',\n", | |
" '2015-02-25',\n", | |
" '2015-02-26',\n", | |
" '2015-02-27',\n", | |
" '2015-02-28',\n", | |
" '2015-03-01',\n", | |
" '2015-03-02',\n", | |
" '2015-03-03',\n", | |
" '2015-03-04',\n", | |
" '2015-03-05',\n", | |
" '2015-03-06',\n", | |
" '2015-03-07',\n", | |
" '2015-03-08',\n", | |
" '2015-03-09',\n", | |
" '2015-03-10',\n", | |
" '2015-03-11',\n", | |
" '2015-03-12',\n", | |
" '2015-03-13',\n", | |
" '2015-03-14',\n", | |
" '2015-03-15',\n", | |
" '2015-03-16',\n", | |
" '2015-03-17',\n", | |
" '2015-03-18',\n", | |
" '2015-03-19',\n", | |
" '2015-03-20',\n", | |
" '2015-03-21',\n", | |
" '2015-03-22',\n", | |
" '2015-03-23',\n", | |
" '2015-03-24',\n", | |
" '2015-03-25',\n", | |
" '2015-03-26',\n", | |
" '2015-03-27',\n", | |
" '2015-03-28',\n", | |
" '2015-03-29',\n", | |
" '2015-03-30',\n", | |
" '2015-03-31',\n", | |
" '2015-04-01',\n", | |
" '2015-04-02',\n", | |
" '2015-04-03',\n", | |
" '2015-04-04',\n", | |
" '2015-04-05',\n", | |
" '2015-04-06',\n", | |
" '2015-04-07',\n", | |
" '2015-04-08',\n", | |
" '2015-04-09',\n", | |
" '2015-04-10'],\n", | |
" 'y': array([ 1.15972096, 2.61814088, 3.88137325, 5.29048469,\n", | |
" 5.45267539, 3.81069438, 2.56234866, 2.48937755,\n", | |
" 0.8885047 , 1.42449396, 0.71398967, 2.23910212,\n", | |
" 0.54126357, 0.73594014, 2.40198747, 3.19970865,\n", | |
" 2.52258531, 2.70797982, 2.54410633, 2.48464073,\n", | |
" 5.1813573 , 2.59804433, 4.05577506, 4.08723678,\n", | |
" 2.76233312, 5.48137562, 5.1817834 , 4.33260202,\n", | |
" 6.34032271, 5.77686686, 5.36107125, 5.3328116 ,\n", | |
" 5.18925194, 4.66230224, 3.13874977, 3.17508182,\n", | |
" 3.1986122 , 3.93469004, 5.25255624, 7.19535909,\n", | |
" 7.34507408, 5.84095987, 4.86338622, 4.84782583,\n", | |
" 5.67626555, 6.05159475, 6.42908244, 7.44653376,\n", | |
" 7.5657167 , 8.51323216, 8.8481517 , 8.55037342,\n", | |
" 8.81314153, 7.87584403, 6.87637759, 7.95065448,\n", | |
" 10.02877143, 9.40492693, 9.97178043, 10.33123802,\n", | |
" 9.64544183, 8.26611953, 8.27434462, 7.27165506,\n", | |
" 5.6709917 , 5.45050085, 5.96900983, 6.60072447,\n", | |
" 7.78534843, 7.84492484, 5.55131151, 5.572 ,\n", | |
" 3.13828897, 2.72750849, 2.11072395, 1.32132751,\n", | |
" 0.54197202, 0.50989272, 1.49837952, 2.85919443,\n", | |
" 4.4573978 , 3.09151662, 4.18383466, 5.24095248,\n", | |
" 5.8356141 , 5.63447151, 6.37295694, 4.82640324,\n", | |
" 5.18567817, 4.75585821, 3.16939133, 4.46429576,\n", | |
" 4.47270732, 4.14814115, 5.31533815, 5.80154658,\n", | |
" 6.86509013, 6.66442417, 6.52294608, 7.33802256])}],\n", | |
" 'layout': {'bargap': 0.01,\n", | |
" 'legend': {'bgcolor': '#F5F6F9', 'font': {'color': '#4D5663'}},\n", | |
" 'paper_bgcolor': '#F5F6F9',\n", | |
" 'plot_bgcolor': '#F5F6F9',\n", | |
" 'xaxis': {'gridcolor': '#E1E5ED',\n", | |
" 'tickfont': {'color': '#4D5663'},\n", | |
" 'title': '',\n", | |
" 'titlefont': {'color': '#4D5663'},\n", | |
" 'zerolinecolor': '#E1E5ED'},\n", | |
" 'yaxis': {'gridcolor': '#E1E5ED',\n", | |
" 'tickfont': {'color': '#4D5663'},\n", | |
" 'title': '',\n", | |
" 'titlefont': {'color': '#4D5663'},\n", | |
" 'zeroline': False,\n", | |
" 'zerolinecolor': '#E1E5ED'}}}" | |
] | |
}, | |
"execution_count": 62, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df['GOOG'].iplot(asFigure=True)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can also get the **Data** object directly" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 63, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"data=df.to_iplot()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 64, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"data[0]['name']='My Custom Name'" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"And pass this directly to **iplot**" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 66, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<iframe id=\"igraph\" scrolling=\"no\" style=\"border:none;\"seamless=\"seamless\" src=\"https://plot.ly/~jorgesantos/75.embed\" height=\"525\" width=\"100%\"></iframe>" | |
], | |
"text/plain": [ | |
"<plotly.tools.PlotlyDisplay object>" | |
] | |
}, | |
"execution_count": 66, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.iplot(data=data,filename='Tutorial Custom Name')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"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.10" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment