{ "cells": [ { "cell_type": "markdown", "metadata": { "kernel": "SoS" }, "source": [ "# SoS Magics (Preview, session, and report)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "kernel": "SoS", "tags": [ "report_output" ] }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
RevisionAuthorDateMessage
514e219Bo Peng2018-08-21Update notebooks
4a06c81Bo Peng2018-08-18Update figures
6bc69eeBo Peng2018-08-18Update magics noterbook and slides
b625104Bo Peng2018-08-17Complete preview magic
cfa7fb1Bo Peng2018-08-16Add skeleton of examples
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%revisions" ] }, { "cell_type": "markdown", "metadata": { "kernel": "SoS" }, "source": [ "## `%preview`" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "kernel": "SoS" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Loading required package: feather\n" ] } ], "source": [ "%preview mtcars\n", "%get mtcars --from R" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "kernel": "R", "tags": [ "report_output" ] }, "outputs": [ { "data": { "text/html": [ "pdf: 2" ], "text/latex": [ "\\textbf{pdf:} 2" ], "text/markdown": [ "**pdf:** 2" ], "text/plain": [ "pdf \n", " 2 " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
%preview scatterplot.png
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
> scatterplot.png (17.9 KiB):
" ], "text/plain": [ "\n", "> scatterplot.png (17.9 KiB):" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%preview -n scatterplot.png\n", "png('scatterplot.png', width=500, height=300)\n", "plot(mtcars$wt, mtcars$mpg, main=\"Scatterplot of mtcars\", \n", " xlab=\"Car Weight\", ylab=\"Miles Per Gallon \")\n", "dev.off()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "kernel": "JavaScript" }, "outputs": [ { "data": { "text/plain": [ "{ 'Mazda RX4': \n", " { mpg: 21,\n", " cyl: 6,\n", " disp: 160,\n", " hp: 110,\n", " drat: 3.9,\n", " wt: 2.62,\n", " qsec: 16.46,\n", " vs: 0,\n", " am: 1,\n", " gear: 4,\n", " carb: 4 },\n", " 'Mazda RX4 Wag': \n", " { mpg: 21,\n", " cyl: 6,\n", " disp: 160,\n", " hp: 110,\n", " drat: 3.9,\n", " wt: 2.875,\n", " qsec: 17.02,\n", " vs: 0,\n", " am: 1,\n", " gear: 4,\n", " carb: 4 },\n", " 'Datsun 710': \n", " { mpg: 22.8,\n", " cyl: 4,\n", " disp: 108,\n", " hp: 93,\n", " drat: 3.85,\n", " wt: 2.32,\n", " qsec: 18.61,\n", " vs: 1,\n", " am: 1,\n", " gear: 4,\n", " carb: 1 },\n", " 'Hornet 4 Drive': \n", " { mpg: 21.4,\n", " cyl: 6,\n", " disp: 258,\n", " hp: 110,\n", " drat: 3.08,\n", " wt: 3.215,\n", " qsec: 19.44,\n", " vs: 1,\n", " am: 0,\n", " gear: 3,\n", " carb: 1 },\n", " 'Hornet Sportabout': \n", " { mpg: 18.7,\n", " cyl: 8,\n", " disp: 360,\n", " hp: 175,\n", " drat: 3.15,\n", " wt: 3.44,\n", " qsec: 17.02,\n", " vs: 0,\n", " am: 0,\n", " gear: 3,\n", " carb: 2 },\n", " Valiant: \n", " { mpg: 18.1,\n", " cyl: 6,\n", " disp: 225,\n", " hp: 105,\n", " drat: 2.76,\n", " wt: 3.46,\n", " qsec: 20.22,\n", " vs: 1,\n", " am: 0,\n", " gear: 3,\n", " carb: 1 },\n", " 'Duster 360': \n", " { mpg: 14.3,\n", " cyl: 8,\n", " disp: 360,\n", " hp: 245,\n", " drat: 3.21,\n", " wt: 3.57,\n", " qsec: 15.84,\n", " vs: 0,\n", " am: 0,\n", " gear: 3,\n", " carb: 4 },\n", " 'Merc 240D': \n", " { mpg: 24.4,\n", " cyl: 4,\n", " disp: 146.7,\n", " hp: 62,\n", " drat: 3.69,\n", " wt: 3.19,\n", " qsec: 20,\n", " vs: 1,\n", " am: 0,\n", " gear: 4,\n", " carb: 2 },\n", " 'Merc 230': \n", " { mpg: 22.8,\n", " cyl: 4,\n", " disp: 140.8,\n", " hp: 95,\n", " drat: 3.92,\n", " wt: 3.15,\n", " qsec: 22.9,\n", " vs: 1,\n", " am: 0,\n", " gear: 4,\n", " carb: 2 },\n", " 'Merc 280': \n", " { mpg: 19.2,\n", " cyl: 6,\n", " disp: 167.6,\n", " hp: 123,\n", " drat: 3.92,\n", " wt: 3.44,\n", " qsec: 18.3,\n", " vs: 1,\n", " am: 0,\n", " gear: 4,\n", " carb: 4 },\n", " 'Merc 280C': \n", " { mpg: 17.8,\n", " cyl: 6,\n", " disp: 167.6,\n", " hp: 123,\n", " drat: 3.92,\n", " wt: 3.44,\n", " qsec: 18.9,\n", " vs: 1,\n", " am: 0,\n", " gear: 4,\n", " carb: 4 },\n", " 'Merc 450SE': \n", " { mpg: 16.4,\n", " cyl: 8,\n", " disp: 275.8,\n", " hp: 180,\n", " drat: 3.07,\n", " wt: 4.07,\n", " qsec: 17.4,\n", " vs: 0,\n", " am: 0,\n", " gear: 3,\n", " carb: 3 },\n", " 'Merc 450SL': \n", " { mpg: 17.3,\n", " cyl: 8,\n", " disp: 275.8,\n", " hp: 180,\n", " drat: 3.07,\n", " wt: 3.73,\n", " qsec: 17.6,\n", " vs: 0,\n", " am: 0,\n", " gear: 3,\n", " carb: 3 },\n", " 'Merc 450SLC': \n", " { mpg: 15.2,\n", " cyl: 8,\n", " disp: 275.8,\n", " hp: 180,\n", " drat: 3.07,\n", " wt: 3.78,\n", " qsec: 18,\n", " vs: 0,\n", " am: 0,\n", " gear: 3,\n", " carb: 3 },\n", " 'Cadillac Fleetwood': \n", " { mpg: 10.4,\n", " cyl: 8,\n", " disp: 472,\n", " hp: 205,\n", " drat: 2.93,\n", " wt: 5.25,\n", " qsec: 17.98,\n", " vs: 0,\n", " am: 0,\n", " gear: 3,\n", " carb: 4 },\n", " 'Lincoln Continental': \n", " { mpg: 10.4,\n", " cyl: 8,\n", " disp: 460,\n", " hp: 215,\n", " drat: 3,\n", " wt: 5.424,\n", " qsec: 17.82,\n", " vs: 0,\n", " am: 0,\n", " gear: 3,\n", " carb: 4 },\n", " 'Chrysler Imperial': \n", " { mpg: 14.7,\n", " cyl: 8,\n", " disp: 440,\n", " hp: 230,\n", " drat: 3.23,\n", " wt: 5.345,\n", " qsec: 17.42,\n", " vs: 0,\n", " am: 0,\n", " gear: 3,\n", " carb: 4 },\n", " 'Fiat 128': \n", " { mpg: 32.4,\n", " cyl: 4,\n", " disp: 78.7,\n", " hp: 66,\n", " drat: 4.08,\n", " wt: 2.2,\n", " qsec: 19.47,\n", " vs: 1,\n", " am: 1,\n", " gear: 4,\n", " carb: 1 },\n", " 'Honda Civic': \n", " { mpg: 30.4,\n", " cyl: 4,\n", " disp: 75.7,\n", " hp: 52,\n", " drat: 4.93,\n", " wt: 1.615,\n", " qsec: 18.52,\n", " vs: 1,\n", " am: 1,\n", " gear: 4,\n", " carb: 2 },\n", " 'Toyota Corolla': \n", " { mpg: 33.9,\n", " cyl: 4,\n", " disp: 71.1,\n", " hp: 65,\n", " drat: 4.22,\n", " wt: 1.835,\n", " qsec: 19.9,\n", " vs: 1,\n", " am: 1,\n", " gear: 4,\n", " carb: 1 },\n", " 'Toyota Corona': \n", " { mpg: 21.5,\n", " cyl: 4,\n", " disp: 120.1,\n", " hp: 97,\n", " drat: 3.7,\n", " wt: 2.465,\n", " qsec: 20.01,\n", " vs: 1,\n", " am: 0,\n", " gear: 3,\n", " carb: 1 },\n", " 'Dodge Challenger': \n", " { mpg: 15.5,\n", " cyl: 8,\n", " disp: 318,\n", " hp: 150,\n", " drat: 2.76,\n", " wt: 3.52,\n", " qsec: 16.87,\n", " vs: 0,\n", " am: 0,\n", " gear: 3,\n", " carb: 2 },\n", " 'AMC Javelin': \n", " { mpg: 15.2,\n", " cyl: 8,\n", " disp: 304,\n", " hp: 150,\n", " drat: 3.15,\n", " wt: 3.435,\n", " qsec: 17.3,\n", " vs: 0,\n", " am: 0,\n", " gear: 3,\n", " carb: 2 },\n", " 'Camaro Z28': \n", " { mpg: 13.3,\n", " cyl: 8,\n", " disp: 350,\n", " hp: 245,\n", " drat: 3.73,\n", " wt: 3.84,\n", " qsec: 15.41,\n", " vs: 0,\n", " am: 0,\n", " gear: 3,\n", " carb: 4 },\n", " 'Pontiac Firebird': \n", " { mpg: 19.2,\n", " cyl: 8,\n", " disp: 400,\n", " hp: 175,\n", " drat: 3.08,\n", " wt: 3.845,\n", " qsec: 17.05,\n", " vs: 0,\n", " am: 0,\n", " gear: 3,\n", " carb: 2 },\n", " 'Fiat X1-9': \n", " { mpg: 27.3,\n", " cyl: 4,\n", " disp: 79,\n", " hp: 66,\n", " drat: 4.08,\n", " wt: 1.935,\n", " qsec: 18.9,\n", " vs: 1,\n", " am: 1,\n", " gear: 4,\n", " carb: 1 },\n", " 'Porsche 914-2': \n", " { mpg: 26,\n", " cyl: 4,\n", " disp: 120.3,\n", " hp: 91,\n", " drat: 4.43,\n", " wt: 2.14,\n", " qsec: 16.7,\n", " vs: 0,\n", " am: 1,\n", " gear: 5,\n", " carb: 2 },\n", " 'Lotus Europa': \n", " { mpg: 30.4,\n", " cyl: 4,\n", " disp: 95.1,\n", " hp: 113,\n", " drat: 3.77,\n", " wt: 1.513,\n", " qsec: 16.9,\n", " vs: 1,\n", " am: 1,\n", " gear: 5,\n", " carb: 2 },\n", " 'Ford Pantera L': \n", " { mpg: 15.8,\n", " cyl: 8,\n", " disp: 351,\n", " hp: 264,\n", " drat: 4.22,\n", " wt: 3.17,\n", " qsec: 14.5,\n", " vs: 0,\n", " am: 1,\n", " gear: 5,\n", " carb: 4 },\n", " 'Ferrari Dino': \n", " { mpg: 19.7,\n", " cyl: 6,\n", " disp: 145,\n", " hp: 175,\n", " drat: 3.62,\n", " wt: 2.77,\n", " qsec: 15.5,\n", " vs: 0,\n", " am: 1,\n", " gear: 5,\n", " carb: 6 },\n", " 'Maserati Bora': \n", " { mpg: 15,\n", " cyl: 8,\n", " disp: 301,\n", " hp: 335,\n", " drat: 3.54,\n", " wt: 3.57,\n", " qsec: 14.6,\n", " vs: 0,\n", " am: 1,\n", " gear: 5,\n", " carb: 8 },\n", " 'Volvo 142E': \n", " { mpg: 21.4,\n", " cyl: 4,\n", " disp: 121,\n", " hp: 109,\n", " drat: 4.11,\n", " wt: 2.78,\n", " qsec: 18.6,\n", " vs: 1,\n", " am: 1,\n", " gear: 4,\n", " carb: 2 } }" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%get mtcars --from R\n", "mtcars" ] }, { "cell_type": "markdown", "metadata": { "kernel": "SoS" }, "source": [ "## `%sessioninfo`" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "kernel": "SoS", "tags": [ "report_output" ] }, "outputs": [ { "data": { "text/html": [ "

SoS

\n", "\n", "\n", "\n", "\n", "
SoS Version
0.9.16.8
\n", "

R

\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
Kernel
ir
Language
R
R version 3.5.0 (2018-04-23)\n",
       "Platform: x86_64-apple-darwin13.4.0 (64-bit)\n",
       "Running under: macOS Sierra 10.12.5\n",
       "\n",
       "Matrix products: default\n",
       "BLAS/LAPACK: /Users/bpeng1/anaconda3/envs/JupyterCon18/lib/libopenblasp-r0.2.20.dylib\n",
       "\n",
       "locale:\n",
       "[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8\n",
       "\n",
       "attached base packages:\n",
       "[1] stats     graphics  grDevices utils     datasets  methods   base     \n",
       "\n",
       "other attached packages:\n",
       "[1] feather_0.3.1\n",
       "\n",
       "loaded via a namespace (and not attached):\n",
       " [1] Rcpp_0.12.18    digest_0.6.15   crayon_1.3.4    IRdisplay_0.5.0\n",
       " [5] repr_0.15.0     jsonlite_1.5    magrittr_1.5    evaluate_0.11  \n",
       " [9] pillar_1.3.0    rlang_0.2.2     stringi_1.2.4   uuid_0.1-2     \n",
       "[13] IRkernel_0.8.11 tools_3.5.0     stringr_1.3.1   hms_0.4.2      \n",
       "[17] compiler_3.5.0  pkgconfig_2.0.2 base64enc_0.1-3 htmltools_0.3.6\n",
       "[21] pbdZMQ_0.3-3    tibble_1.4.2   
\n", "

JavaScript

\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
Kernel
javascript
Language
JavaScript
\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%sessioninfo" ] }, { "cell_type": "markdown", "metadata": { "kernel": "SoS" }, "source": [ "## `%sossave`" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "kernel": "SoS" }, "outputs": [ { "data": { "text/html": [ "
Workflow saved to 3_SoS_Magics.html
" ], "text/plain": [ "Workflow saved to 3_SoS_Magics.html\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%sossave --to html --force" ] } ], "metadata": { "kernelspec": { "display_name": "SoS", "language": "sos", "name": "sos" }, "language_info": { "codemirror_mode": "sos", "file_extension": ".sos", "mimetype": "text/x-sos", "name": "sos", "nbconvert_exporter": "sos_notebook.converter.SoS_Exporter", "pygments_lexer": "sos" }, "sos": { "kernels": [], "panel": { "displayed": true, "height": 0, "style": "side" }, "version": "0.9.16.7" } }, "nbformat": 4, "nbformat_minor": 2 }