Skip to content

Instantly share code, notes, and snippets.

@mkcor
Last active August 29, 2015 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mkcor/0ee7c73d9ba4c68ddc1a to your computer and use it in GitHub Desktop.
Save mkcor/0ee7c73d9ba4c68ddc1a to your computer and use it in GitHub Desktop.
Notebook (IRkernel) for Plotly tutorial
{
"metadata": {
"name": "",
"signature": "sha256:fce6596303e3655acfcdf1e41c16bca41a9a3076063f23143d020b453573fc61"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"Collaborative Interactive ggplot2 and R plots"
]
},
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"A Plotly workflow"
]
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"Marianne Corvellec, Plotly <marianne@plot.ly>"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"[Plot.ly](https://plot.ly) is a platform for making and sharing graphs --- *A GitHub for Data*"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"http://imgur.com/rjmMJYM\" title=\"plotly_interface\"><img src=\"http://i.imgur.com/rjmMJYM.png\" title=\"Hosted by imgur.com\" alt=\"plotly_interface\"/></a>"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print(\"Before we dive into plots...\")"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"[1] \"Before we dive into plots...\"\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is the IPython Notebook for R (a native R kernel lets you run R code): https://github.com/takluyver/IRkernel"
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Histogram of Batting Averages"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Downloaded data from http://www.seanlahman.com/baseball-archive/statistics/ (http://creativecommons.org/licenses/by-sa/3.0/)"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"batting_table <- read.csv(\"/home/marianne/Downloads/Batting.csv\")"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"head(batting_table)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
" playerID yearID stint teamID lgID G G_batting AB R H X2B X3B HR RBI SB CS\n",
"1 aardsda01 2004 1 SFN NL 11 11 0 0 0 0 0 0 0 0 0\n",
"2 aardsda01 2006 1 CHN NL 45 43 2 0 0 0 0 0 0 0 0\n",
"3 aardsda01 2007 1 CHA AL 25 2 0 0 0 0 0 0 0 0 0\n",
"4 aardsda01 2008 1 BOS AL 47 5 1 0 0 0 0 0 0 0 0\n",
"5 aardsda01 2009 1 SEA AL 73 3 0 0 0 0 0 0 0 0 0\n",
"6 aardsda01 2010 1 SEA AL 53 4 0 0 0 0 0 0 0 0 0\n",
" BB SO IBB HBP SH SF GIDP G_old\n",
"1 0 0 0 0 0 0 0 11\n",
"2 0 0 0 0 1 0 0 45\n",
"3 0 0 0 0 0 0 0 2\n",
"4 0 1 0 0 0 0 0 5\n",
"5 0 0 0 0 0 0 0 NA\n",
"6 0 0 0 0 0 0 0 NA"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"summary(batting_table)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
" playerID yearID stint teamID lgID \n",
" mcguide01: 31 Min. :1871 Min. :1.000 CHN : 4720 AA : 1890 \n",
" henderi01: 29 1st Qu.:1931 1st Qu.:1.000 PHI : 4621 AL :44369 \n",
" newsobo01: 29 Median :1970 Median :1.000 PIT : 4575 FL : 470 \n",
" johnto01 : 28 Mean :1962 Mean :1.077 SLN : 4535 NL :49944 \n",
" kaatji01 : 28 3rd Qu.:1995 3rd Qu.:1.000 CIN : 4393 PL : 147 \n",
" ansonca01: 27 Max. :2013 Max. :5.000 CLE : 4318 UA : 332 \n",
" (Other) :97717 (Other):70727 NA's: 737 \n",
" G G_batting AB R \n",
" Min. : 1.00 Min. : 0.00 Min. : 0.0 Min. : 0.00 \n",
" 1st Qu.: 13.00 1st Qu.: 7.00 1st Qu.: 9.0 1st Qu.: 0.00 \n",
" Median : 35.00 Median : 32.00 Median : 61.0 Median : 5.00 \n",
" Mean : 51.65 Mean : 49.13 Mean :154.1 Mean : 20.47 \n",
" 3rd Qu.: 81.00 3rd Qu.: 81.00 3rd Qu.:260.0 3rd Qu.: 31.00 \n",
" Max. :165.00 Max. :165.00 Max. :716.0 Max. :192.00 \n",
" NA's :1406 NA's :6413 NA's :6413 \n",
" H X2B X3B HR \n",
" Min. : 0.00 Min. : 0.0 Min. : 0.000 Min. : 0.000 \n",
" 1st Qu.: 1.00 1st Qu.: 0.0 1st Qu.: 0.000 1st Qu.: 0.000 \n",
" Median : 12.00 Median : 2.0 Median : 0.000 Median : 0.000 \n",
" Mean : 40.37 Mean : 6.8 Mean : 1.424 Mean : 3.002 \n",
" 3rd Qu.: 66.00 3rd Qu.:10.0 3rd Qu.: 2.000 3rd Qu.: 3.000 \n",
" Max. :262.00 Max. :67.0 Max. :36.000 Max. :73.000 \n",
" NA's :6413 NA's :6413 NA's :6413 NA's :6413 \n",
" RBI SB CS BB \n",
" Min. : 0.00 Min. : 0.000 Min. : 0.000 Min. : 0.00 \n",
" 1st Qu.: 0.00 1st Qu.: 0.000 1st Qu.: 0.000 1st Qu.: 0.00 \n",
" Median : 5.00 Median : 0.000 Median : 0.000 Median : 4.00 \n",
" Mean : 18.47 Mean : 3.265 Mean : 1.385 Mean : 14.21 \n",
" 3rd Qu.: 28.00 3rd Qu.: 2.000 3rd Qu.: 1.000 3rd Qu.: 21.00 \n",
" Max. :191.00 Max. :138.000 Max. :42.000 Max. :232.00 \n",
" NA's :6837 NA's :7713 NA's :29867 NA's :6413 \n",
" SO IBB HBP SH \n",
" Min. : 0.00 Min. : 0.00 Min. : 0.000 Min. : 0.000 \n",
" 1st Qu.: 2.00 1st Qu.: 0.00 1st Qu.: 0.000 1st Qu.: 0.000 \n",
" Median : 11.00 Median : 0.00 Median : 0.000 Median : 1.000 \n",
" Mean : 21.95 Mean : 1.28 Mean : 1.136 Mean : 2.564 \n",
" 3rd Qu.: 31.00 3rd Qu.: 1.00 3rd Qu.: 1.000 3rd Qu.: 3.000 \n",
" Max. :223.00 Max. :120.00 Max. :51.000 Max. :67.000 \n",
" NA's :14251 NA's :42977 NA's :9233 NA's :12751 \n",
" SF GIDP G_old \n",
" Min. : 0.0 Min. : 0.00 Min. : 0.00 \n",
" 1st Qu.: 0.0 1st Qu.: 0.00 1st Qu.: 11.00 \n",
" Median : 0.0 Median : 1.00 Median : 34.00 \n",
" Mean : 1.2 Mean : 3.33 Mean : 50.99 \n",
" 3rd Qu.: 2.0 3rd Qu.: 5.00 3rd Qu.: 82.00 \n",
" Max. :19.0 Max. :36.00 Max. :165.00 \n",
" NA's :42446 NA's :32521 NA's :5189 "
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"batting_table <- subset(batting_table, yearID >= 2004)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"batting_table$Avg <- with(batting_table, H / AB)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"library(ggplot2)\n",
"ggplot(data=batting_table) + geom_histogram(aes(Avg), binwidth=0.05)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 7,
"text": []
},
{
"metadata": {},
"output_type": "display_data",
"png": "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"
}
],
"prompt_number": 7
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let us filter out entries where players were at bat less than 10 times."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"batting_table <- subset(batting_table, AB >= 10)\n",
"hist <- ggplot(data=batting_table) + geom_histogram(aes(Avg), binwidth=0.05)\n",
"hist"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 8,
"text": []
},
{
"metadata": {},
"output_type": "display_data",
"png": "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"
}
],
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let me share this plot, so that others can contribute!\n",
"I want to install the latest version of the **plotly** package and load it (silently)."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"suppressPackageStartupMessages(library(devtools))\n",
"suppressMessages(install_github(\"ropensci/plotly\"))\n",
"suppressPackageStartupMessages(library(plotly))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 9
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Open a Plotly connection (using your own credentials if you prefer)."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"py <- plotly(\"ggplot2examples\", \"3gazttckd7\") # Instantiate plotly object"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"collab_hist <- py$ggplotly(hist)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stderr",
"text": [
"packageStartupMessage in packageStartupMessage(gettextf(\"Loading required package: %s\", : Loading required package: IRdisplay\n",
"\n"
]
},
{
"html": [
"<iframe height=\"525\" id=\"igraph\" scrolling=\"no\" seamless=\"seamless\"\n",
"\t\t\t\tsrc=\"https://plot.ly/~ggplot2examples/209\" width=\"100%\" frameBorder=\"0\"></iframe>"
],
"metadata": {},
"output_type": "display_data"
}
],
"prompt_number": 11
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let me click \"data and graph\", then \"Save & edit\", \"Copy\", fit the distribution with a Gaussian, add two vertical lines, an annotation, give a title, etc., and \"Share\"!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"http://imgur.com/uydqnrw\"><img src=\"http://i.imgur.com/uydqnrw.png\" title=\"Hosted by imgur.com\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"https://plot.ly/~mkcor/305"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Declarative Plotly syntax in R: https://plot.ly/~mkcor/305.r (Get the JSON https://plot.ly/~mkcor/305.json and more...)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now retrieve the plot's DNA, edit it in R, send it back online... "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"enhanc_hist <- py$get_figure(\"mkcor\", 305)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"str(enhanc_hist)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"List of 2\n",
" $ layout:List of 25\n",
" ..$ boxmode : chr \"overlay\"\n",
" ..$ paper_bgcolor: chr \"#fff\"\n",
" ..$ height : num 347\n",
" ..$ titlefont :List of 3\n",
" .. ..$ color : chr \"\"\n",
" .. ..$ family: chr \"\"\n",
" .. ..$ size : num 0\n",
" ..$ hovermode : chr \"x\"\n",
" ..$ font :List of 3\n",
" .. ..$ color : chr \"#444\"\n",
" .. ..$ family: chr \"\\\"Open sans\\\", verdana, arial, sans-serif\"\n",
" .. ..$ size : num 12\n",
" ..$ autosize : logi TRUE\n",
" ..$ title : chr \"Histogram of Batting Averages in MLB\"\n",
" ..$ plot_bgcolor : chr \"#fff\"\n",
" ..$ dragmode : chr \"pan\"\n",
" ..$ smith : logi FALSE\n",
" ..$ width : num 874\n",
" ..$ bargap : num 0.2\n",
" ..$ xaxis :List of 33\n",
" .. ..$ showexponent : chr \"all\"\n",
" .. ..$ showticklabels: logi TRUE\n",
" .. ..$ domain : num [1:2] 0 1\n",
" .. ..$ gridcolor : chr \"#eee\"\n",
" .. ..$ linecolor : chr \"#444\"\n",
" .. ..$ mirror : logi FALSE\n",
" .. ..$ autotick : logi TRUE\n",
" .. ..$ linewidth : num 1\n",
" .. ..$ nticks : num 0\n",
" .. ..$ title : chr \"Avg\"\n",
" .. ..$ ticks : chr \"\"\n",
" .. ..$ rangemode : chr \"normal\"\n",
" .. ..$ overlaying : logi FALSE\n",
" .. ..$ zeroline : logi FALSE\n",
" .. ..$ type : chr \"linear\"\n",
" .. ..$ autorange : logi TRUE\n",
" .. ..$ zerolinewidth : num 1\n",
" .. ..$ ticklen : num 5\n",
" .. ..$ titlefont :List of 3\n",
" .. .. ..$ color : chr \"\"\n",
" .. .. ..$ family: chr \"\"\n",
" .. .. ..$ size : num 0\n",
" .. ..$ tickcolor : chr \"#444\"\n",
" .. ..$ showline : logi FALSE\n",
" .. ..$ showgrid : logi FALSE\n",
" .. ..$ tickfont :List of 3\n",
" .. .. ..$ color : chr \"\"\n",
" .. .. ..$ family: chr \"\"\n",
" .. .. ..$ size : num 0\n",
" .. ..$ tickwidth : num 1\n",
" .. ..$ tick0 : num 0\n",
" .. ..$ tickangle : chr \"auto\"\n",
" .. ..$ gridwidth : num 1\n",
" .. ..$ dtick : num 0.1\n",
" .. ..$ zerolinecolor : chr \"#444\"\n",
" .. ..$ range : num [1:2] -0.002 0.648\n",
" .. ..$ position : num 0\n",
" .. ..$ anchor : chr \"y\"\n",
" .. ..$ exponentformat: chr \"B\"\n",
" ..$ bargroupgap : num 0\n",
" ..$ hidesources : logi FALSE\n",
" ..$ showlegend : logi TRUE\n",
" ..$ separators : chr \".,\"\n",
" ..$ barmode : chr \"group\"\n",
" ..$ boxgap : num 0.3\n",
" ..$ legend :List of 9\n",
" .. ..$ bordercolor: chr \"#444\"\n",
" .. ..$ yanchor : chr \"top\"\n",
" .. ..$ traceorder : chr \"normal\"\n",
" .. ..$ xanchor : chr \"left\"\n",
" .. ..$ bgcolor : chr \"#fff\"\n",
" .. ..$ borderwidth: num 0\n",
" .. ..$ y : num 1\n",
" .. ..$ x : num 1.02\n",
" .. ..$ font :List of 3\n",
" .. .. ..$ color : chr \"\"\n",
" .. .. ..$ family: chr \"\"\n",
" .. .. ..$ size : num 0\n",
" ..$ yaxis :List of 33\n",
" .. ..$ showexponent : chr \"all\"\n",
" .. ..$ showticklabels: logi TRUE\n",
" .. ..$ domain : num [1:2] 0 1\n",
" .. ..$ gridcolor : chr \"#eee\"\n",
" .. ..$ linecolor : chr \"#444\"\n",
" .. ..$ mirror : logi FALSE\n",
" .. ..$ autotick : logi TRUE\n",
" .. ..$ linewidth : num 1\n",
" .. ..$ nticks : num 0\n",
" .. ..$ title : chr \"counts\"\n",
" .. ..$ ticks : chr \"\"\n",
" .. ..$ rangemode : chr \"nonnegative\"\n",
" .. ..$ overlaying : logi FALSE\n",
" .. ..$ zeroline : logi TRUE\n",
" .. ..$ type : chr \"linear\"\n",
" .. ..$ autorange : logi FALSE\n",
" .. ..$ zerolinewidth : num 1\n",
" .. ..$ ticklen : num 5\n",
" .. ..$ titlefont :List of 3\n",
" .. .. ..$ color : chr \"\"\n",
" .. .. ..$ family: chr \"\"\n",
" .. .. ..$ size : num 0\n",
" .. ..$ tickcolor : chr \"#444\"\n",
" .. ..$ showline : logi FALSE\n",
" .. ..$ showgrid : logi TRUE\n",
" .. ..$ tickfont :List of 3\n",
" .. .. ..$ color : chr \"\"\n",
" .. .. ..$ family: chr \"\"\n",
" .. .. ..$ size : num 0\n",
" .. ..$ tickwidth : num 1\n",
" .. ..$ tick0 : num 0\n",
" .. ..$ tickangle : chr \"auto\"\n",
" .. ..$ gridwidth : num 1\n",
" .. ..$ dtick : num 5000\n",
" .. ..$ zerolinecolor : chr \"#444\"\n",
" .. ..$ range : num [1:2] 0 23000\n",
" .. ..$ position : num 0\n",
" .. ..$ anchor : chr \"x\"\n",
" .. ..$ exponentformat: chr \"B\"\n",
" ..$ annotations :List of 2\n",
" .. ..$ :List of 23\n",
" .. .. ..$ yanchor : chr \"auto\"\n",
" .. .. ..$ text : chr \"Mendoza Line\"\n",
" .. .. ..$ bordercolor: chr \"\"\n",
" .. .. ..$ arrowsize : num 1\n",
" .. .. ..$ textangle : num 0\n",
" .. .. ..$ borderwidth: num 1\n",
" .. .. ..$ ay : num -19.5\n",
" .. .. ..$ ax : num -48\n",
" .. .. ..$ font :List of 3\n",
" .. .. .. ..$ color : chr \"\"\n",
" .. .. .. ..$ family: chr \"\"\n",
" .. .. .. ..$ size : num 0\n",
" .. .. ..$ arrowcolor : chr \"\"\n",
" .. .. ..$ xref : chr \"x\"\n",
" .. .. ..$ arrowhead : num 1\n",
" .. .. ..$ bgcolor : chr \"rgba(0,0,0,0)\"\n",
" .. .. ..$ borderpad : num 1\n",
" .. .. ..$ showarrow : logi TRUE\n",
" .. .. ..$ opacity : num 1\n",
" .. .. ..$ xanchor : chr \"auto\"\n",
" .. .. ..$ arrowwidth : num 0\n",
" .. .. ..$ yref : chr \"y\"\n",
" .. .. ..$ align : chr \"center\"\n",
" .. .. ..$ tag : chr \"\"\n",
" .. .. ..$ y : num 19708\n",
" .. .. ..$ x : num 0.194\n",
" .. ..$ :List of 24\n",
" .. .. ..$ yanchor : chr \"auto\"\n",
" .. .. ..$ uid : chr \"5d7224\"\n",
" .. .. ..$ text : chr \"R<sup>2</sup> = 0.9506<br>y = 807 + 2.09e+4exp((-(x - 0.248)^2) / (20.0547^2))\"\n",
" .. .. ..$ arrowsize : num 1\n",
" .. .. ..$ textangle : num 0\n",
" .. .. ..$ borderwidth: num 1\n",
" .. .. ..$ ay : num -94\n",
" .. .. ..$ ax : num 111\n",
" .. .. ..$ font : Named num 10\n",
" .. .. .. ..- attr(*, \"names\")= chr \"size\"\n",
" .. .. ..$ arrowcolor : chr \"#636363\"\n",
" .. .. ..$ xref : chr \"x\"\n",
" .. .. ..$ arrowhead : num 3\n",
" .. .. ..$ bgcolor : chr \"rgb(255, 255, 255)\"\n",
" .. .. ..$ borderpad : num 1\n",
" .. .. ..$ showarrow : logi TRUE\n",
" .. .. ..$ opacity : num 0.8\n",
" .. .. ..$ xanchor : chr \"auto\"\n",
" .. .. ..$ y : num 4136\n",
" .. .. ..$ arrowwidth : num 2\n",
" .. .. ..$ yref : chr \"y\"\n",
" .. .. ..$ align : chr \"left\"\n",
" .. .. ..$ tag : chr \"\"\n",
" .. .. ..$ bordercolor: chr \"\"\n",
" .. .. ..$ x : num 0.365\n",
" ..$ boxgroupgap : num 0.3\n",
" ..$ margin :List of 6\n",
" .. ..$ b : num 80\n",
" .. ..$ l : num 80\n",
" .. ..$ r : num 80\n",
" .. ..$ pad : num 0\n",
" .. ..$ t : num 100\n",
" .. ..$ autoexpand: logi TRUE\n",
" $ data :List of 4\n",
" ..$ :List of 13\n",
" .. ..$ textfont: Named list()\n",
" .. ..$ error_x : Named list()\n",
" .. ..$ name : chr \"Batting Averages\"\n",
" .. ..$ uid : chr \"d2c52d\"\n",
" .. ..$ xsrc : chr \"mkcor:304:367dfe\"\n",
" .. ..$ xbins : Named num [1:3] -0.002 0.644 0.05\n",
" .. .. ..- attr(*, \"names\")= chr [1:3] \"start\" \"end\" \"size\"\n",
" .. ..$ marker :List of 1\n",
" .. .. ..$ line: Named list()\n",
" .. ..$ x : num [1:67863] 0.28 0.314 0.328 0.322 0.326 ...\n",
" .. ..$ line : Named list()\n",
" .. ..$ type : chr \"histogram\"\n",
" .. ..$ autobinx: logi FALSE\n",
" .. ..$ ybins : Named list()\n",
" .. ..$ error_y : Named list()\n",
" ..$ :List of 13\n",
" .. ..$ textfont: Named list()\n",
" .. ..$ error_x : Named list()\n",
" .. ..$ name : chr \"Good\"\n",
" .. ..$ uid : chr \"a3a1f2\"\n",
" .. ..$ ysrc : chr \"mkcor:304:095ab6\"\n",
" .. ..$ xsrc : chr \"mkcor:304:5a03a8\"\n",
" .. ..$ marker :List of 1\n",
" .. .. ..$ line: Named list()\n",
" .. ..$ mode : chr \"lines\"\n",
" .. ..$ y : chr [1:2] \"0\" \"25000\"\n",
" .. ..$ x : chr [1:2] \"0.3\" \"0.3\"\n",
" .. ..$ line : Named chr \"rgb(44, 160, 44)\"\n",
" .. .. ..- attr(*, \"names\")= chr \"color\"\n",
" .. ..$ type : chr \"scatter\"\n",
" .. ..$ error_y : Named list()\n",
" ..$ :List of 13\n",
" .. ..$ textfont: Named list()\n",
" .. ..$ error_x : Named list()\n",
" .. ..$ name : chr \"Bad\"\n",
" .. ..$ uid : chr \"99885f\"\n",
" .. ..$ ysrc : chr \"mkcor:304:9ff07b\"\n",
" .. ..$ xsrc : chr \"mkcor:304:f2e76e\"\n",
" .. ..$ marker :List of 1\n",
" .. .. ..$ line: Named list()\n",
" .. ..$ mode : chr \"lines\"\n",
" .. ..$ y : chr [1:2] \"0\" \"25000\"\n",
" .. ..$ x : chr [1:2] \"0.2\" \"0.2\"\n",
" .. ..$ line : Named chr \"rgb(255, 0, 0)\"\n",
" .. .. ..- attr(*, \"names\")= chr \"color\"\n",
" .. ..$ type : chr \"scatter\"\n",
" .. ..$ error_y : Named list()\n",
" ..$ :List of 14\n",
" .. ..$ opacity : num 0.5\n",
" .. ..$ textfont: Named list()\n",
" .. ..$ error_x : Named list()\n",
" .. ..$ uid : chr \"5d7224\"\n",
" .. ..$ fit :List of 12\n",
" .. .. ..$ outputxrange: chr [1:2] \"\" \"\"\n",
" .. .. ..$ rms : num 1853\n",
" .. .. ..$ iterations : num 10\n",
" .. .. ..$ fitname : chr \"Batting Averages - fit\"\n",
" .. .. ..$ funcStr : chr \"a + h*exp( -(x-x0)^2/(2*w^2) )\"\n",
" .. .. ..$ parent : chr \"d2c52d\"\n",
" .. .. ..$ weight : chr \"\"\n",
" .. .. ..$ params :List of 4\n",
" .. .. .. ..$ :List of 4\n",
" .. .. .. .. ..$ value: num 807\n",
" .. .. .. .. ..$ hold : logi FALSE\n",
" .. .. .. .. ..$ name : chr \"a\"\n",
" .. .. .. .. ..$ err : num 692\n",
" .. .. .. ..$ :List of 4\n",
" .. .. .. .. ..$ value: num 20903\n",
" .. .. .. .. ..$ hold : logi FALSE\n",
" .. .. .. .. ..$ name : chr \"h\"\n",
" .. .. .. .. ..$ err : num 1702\n",
" .. .. .. ..$ :List of 4\n",
" .. .. .. .. ..$ value: num 0.0547\n",
" .. .. .. .. ..$ hold : logi FALSE\n",
" .. .. .. .. ..$ name : chr \"w\"\n",
" .. .. .. .. ..$ err : num 0.00557\n",
" .. .. .. ..$ :List of 4\n",
" .. .. .. .. ..$ value: num 0.248\n",
" .. .. .. .. ..$ hold : logi FALSE\n",
" .. .. .. .. ..$ name : chr \"x0\"\n",
" .. .. .. .. ..$ err : num 0.00493\n",
" .. .. ..$ corr : num 0.975\n",
" .. .. ..$ ninterp : chr \"50\"\n",
" .. .. ..$ inputxrange : chr [1:2] \"\" \"\"\n",
" .. .. ..$ uid : chr \"5d7224\"\n",
" .. ..$ yaxis : chr \"y\"\n",
" .. ..$ error_y : Named list()\n",
" .. ..$ marker :List of 1\n",
" .. .. ..$ line: Named list()\n",
" .. ..$ xaxis : chr \"x\"\n",
" .. ..$ y : num [1:50] 812 818 833 864 926 ...\n",
" .. ..$ x : num [1:50] 0.023 0.0352 0.0475 0.0597 0.072 ...\n",
" .. ..$ line :List of 2\n",
" .. .. ..$ color: chr \"rgb(55, 126, 184)\"\n",
" .. .. ..$ width: num 4\n",
" .. ..$ type : chr \"scatter\"\n",
" .. ..$ name : chr \"Batting Averages - fit\"\n"
]
}
],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"enhanc_hist$data[[2]] # Data for second trace"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 14,
"text": [
"$textfont\n",
"named list()\n",
"\n",
"$error_x\n",
"named list()\n",
"\n",
"$name\n",
"[1] \"Good\"\n",
"\n",
"$uid\n",
"[1] \"a3a1f2\"\n",
"\n",
"$ysrc\n",
"[1] \"mkcor:304:095ab6\"\n",
"\n",
"$xsrc\n",
"[1] \"mkcor:304:5a03a8\"\n",
"\n",
"$marker\n",
"$marker$line\n",
"named list()\n",
"\n",
"\n",
"$mode\n",
"[1] \"lines\"\n",
"\n",
"$y\n",
"[1] \"0\" \"25000\"\n",
"\n",
"$x\n",
"[1] \"0.3\" \"0.3\"\n",
"\n",
"$line\n",
" color \n",
"\"rgb(44, 160, 44)\" \n",
"\n",
"$type\n",
"[1] \"scatter\"\n",
"\n",
"$error_y\n",
"named list()\n"
]
}
],
"prompt_number": 14
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Say we have more ambition."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"enhanc_hist$data[[2]]$name <- \"Very Good\""
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 15
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"enhanc_hist$data[[2]]$x[[1]] <- 0.35\n",
"enhanc_hist$data[[2]]$x[[2]] <- 0.35"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"enhanc_hist$data[[2]]$x"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 17,
"text": [
"[1] \"0.35\" \"0.35\""
]
}
],
"prompt_number": 17
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"py$plotly(enhanc_hist$data, kwargs=list(layout=enhanc_hist$layout))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 18,
"text": [
"$url\n",
"[1] \"https://plot.ly/~ggplot2examples/210\"\n",
"\n",
"$message\n",
"[1] \"\"\n",
"\n",
"$warning\n",
"[1] \"\"\n",
"\n",
"$filename\n",
"[1] \"from api (58) (1)\"\n",
"\n",
"$error\n",
"[1] \"\"\n"
]
}
],
"prompt_number": 18
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Visit the above URL."
]
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Faceted Plots"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ggplot2 also uses geom_bar to make histograms..."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"bar <- ggplot(data=batting_table) + geom_bar(aes(Avg), binwidth=0.05) + facet_wrap(~yearID)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"bar"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 20,
"text": []
},
{
"metadata": {},
"output_type": "display_data",
"png": "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"
}
],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"py$ggplotly(bar)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stderr",
"text": [
"simpleWarning in gg2list(gg): You may want to use geom_histogram.\n"
]
},
{
"html": [
"<iframe height=\"525\" id=\"igraph\" scrolling=\"no\" seamless=\"seamless\"\n",
"\t\t\t\tsrc=\"https://plot.ly/~ggplot2examples/211\" width=\"100%\" frameBorder=\"0\"></iframe>"
],
"metadata": {},
"output_type": "display_data"
}
],
"prompt_number": 21
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Thank you!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Join the fun! https://github.com/ropensci/plotly"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# CSS styling within IPython notebook\n",
"display_html(getURL(\"https://raw.githubusercontent.com/plotly/python-user-guide/master/custom.css\"))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<style>\n",
" /*body {\n",
" background-color: #F5F5F5;\n",
" }*/\n",
" div.cell{\n",
" width: 850px;\n",
" margin-left: 10% !important;\n",
" margin-right: auto;\n",
" }\n",
" h1 {\n",
" font-family: \"Open sans\",verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h1 {\n",
" font-weight: 200;\n",
" font-size: 40pt;\n",
" line-height: 100%;\n",
" color:#447adb;\n",
" margin-bottom: 0em;\n",
" margin-top: 0em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" } \n",
" h2 {\n",
" font-family: \"Open sans\",verdana,arial,sans-serif;\n",
" text-indent:1em;\n",
" }\n",
" .text_cell_render h2 {\n",
" font-weight: 200;\n",
" font-size: 20pt;\n",
" font-style: italic;\n",
" line-height: 100%;\n",
" color:#447adb;\n",
" margin-bottom: 1.5em;\n",
" margin-top: 0.5em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" } \n",
" h3 {\n",
" font-family: \"Open sans\",verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h3 {\n",
" font-weight: 300;\n",
" font-size: 18pt;\n",
" line-height: 100%;\n",
" color:#447adb;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 2em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" }\n",
" h4 {\n",
" font-family: \"Open sans\",verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h4 {\n",
" font-weight: 300;\n",
" font-size: 16pt;\n",
" color:#447adb;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 0.5em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" }\n",
" h5 {\n",
" font-family: \"Open sans\",verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h5 {\n",
" font-weight: 300;\n",
" font-style: normal;\n",
" color: #1d3b84;\n",
" font-size: 16pt;\n",
" margin-bottom: 0em;\n",
" margin-top: 1.5em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" }\n",
" div.text_cell_render{\n",
" font-family: \"Open sans\",verdana,arial,sans-serif;\n",
" line-height: 135%;\n",
" font-size: 125%;\n",
" width:750px;\n",
" margin-left:auto;\n",
" margin-right:auto;\n",
" text-align:justify;\n",
" text-justify:inter-word;\n",
" }\n",
" div.output_subarea.output_text.output_pyout {\n",
" overflow-x: auto;\n",
" overflow-y: scroll;\n",
" max-height: 300px;\n",
" }\n",
" div.output_subarea.output_stream.output_stdout.output_text {\n",
" overflow-x: auto;\n",
" overflow-y: scroll;\n",
" max-height: 300px;\n",
" }\n",
" div.output_subarea.output_html.rendered_html {\n",
" overflow-x: scroll;\n",
" max-width: 100%;\n",
" /* overflow-y: scroll; */\n",
" /* max-height: 300px; */\n",
" }\n",
" code{\n",
" font-size: 78%;\n",
" }\n",
" .rendered_html code{\n",
" background-color: transparent;\n",
" }\n",
" ul{\n",
" /* color:#447adb; */ \n",
" margin: 2em;\n",
" }\n",
" ul li{\n",
" padding-left: 0.5em; \n",
" margin-bottom: 0.5em; \n",
" margin-top: 0.5em; \n",
" }\n",
" ul li li{\n",
" padding-left: 0.2em; \n",
" margin-bottom: 0.2em; \n",
" margin-top: 0.2em; \n",
" }\n",
" ol{\n",
" /* color:#447adb; */ \n",
" margin: 2em;\n",
" }\n",
" ol li{\n",
" padding-left: 0.5em; \n",
" margin-bottom: 0.5em; \n",
" margin-top: 0.5em; \n",
" }\n",
" /*.prompt{\n",
" display: None;\n",
" } */\n",
" ul li{\n",
" padding-left: 0.5em; \n",
" margin-bottom: 0.5em; \n",
" margin-top: 0.2em; \n",
" }\n",
" a:link{\n",
" font-weight: bold;\n",
" color:#447adb;\n",
" }\n",
" a:visited{\n",
" font-weight: bold;\n",
" color: #1d3b84;\n",
" }\n",
" a:hover{\n",
" font-weight: bold;\n",
" color: #1d3b84;\n",
" }\n",
" a:focus{\n",
" font-weight: bold;\n",
" color:#447adb;\n",
" }\n",
" a:active{\n",
" font-weight: bold;\n",
" color:#447adb;\n",
" }\n",
" .rendered_html :link {\n",
" text-decoration: none; \n",
" }\n",
" .rendered_html :hover {\n",
" text-decoration: none; \n",
" }\n",
" .rendered_html :visited {\n",
" text-decoration: none;\n",
" }\n",
" .rendered_html :focus {\n",
" text-decoration: none;\n",
" }\n",
" .rendered_html :active {\n",
" text-decoration: none;\n",
" }\n",
" .warning{\n",
" color: rgb( 240, 20, 20 )\n",
" } \n",
" hr {\n",
" color: #f3f3f3;\n",
" background-color: #f3f3f3;\n",
" height: 1px;\n",
" }\n",
" blockquote{\n",
" display:block;\n",
" background: #f3f3f3;\n",
" font-family: \"Open sans\",verdana,arial,sans-serif;\n",
" width:610px;\n",
" padding: 15px 15px 15px 15px;\n",
" text-align:justify;\n",
" text-justify:inter-word;\n",
" }\n",
" blockquote p {\n",
" margin-bottom: 0;\n",
" line-height: 125%;\n",
" font-size: 100%;\n",
" }\n",
" /* element.style {\n",
" } */ \n",
"</style>\n",
"<script>\n",
" MathJax.Hub.Config({\n",
" TeX: {\n",
" extensions: [\"AMSmath.js\"]\n",
" },\n",
" tex2jax: {\n",
" inlineMath: [ [\"$\",\"$\"], [\"\\\\(\",\"\\\\)\"] ],\n",
" displayMath: [ [\"$$\",\"$$\"], [\"\\\\[\",\"\\\\]\"] ]\n",
" },\n",
" displayAlign: \"center\", // Change this to \"center\" to center equations.\n",
" \"HTML-CSS\": {\n",
" styles: {\".MathJax_Display\": {\"margin\": 4}}\n",
" }\n",
" });\n",
"</script>\n"
],
"metadata": {},
"output_type": "display_data"
}
],
"prompt_number": 22
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment