| { |
| "paragraphs": [ |
| { |
| "text": "%md\n## Introduction\n\u003cspan style\u003d\"color:red\"\u003eTo be noticed, this is outdated tutorial for using Matplotlib in Zeppelin. We recommend user to use IPython in Zeppelin. Please refer the IPython Tutorial.\u003c/span\u003e\n\nIn this tutorial we will go through some of the basic features of Zeppelin\u0027s built-in matplotlib integration. To be noticed, this tutorial is only for Vanilla Python Interpreter (`%python` or `%spark.pyspark`). You can refer another tutorial (IPython Visualization Tutorial) for using Matplotlib in IPython Interpreter.\n\n### Prerequisites\n`matplotlib` must be installed to your local python installation. (use `pip install matplotlib` or `conda install matplotlib` if you have `conda`). Additionally, you will need Zeppelin\u0027s matplotlib backend files which are usually found in `$ZEPPELIN_HOME/lib/python`. Although Zeppelin should automatically find this directory, it might be a good idea to add it to your `PYTHONPATH` just in case. \n\n### Interpreters\nMost of the examples shown in this tutorial can be used interchangeably with either the `python` or `pyspark` interpreters. Iterative plotting using the Angular Display System is currently only available for `pyspark`, but this functionality will eventually be added to the base `python` interpreter. \n\n### macOS\nMake sure locale is set, to avoid `ValueError: unknown locale: UTF-8`\n\n### virtualenv\nIn case you want to use virtualenv or conda env:\n - configure python interpreter property -\u003e `absolute/path/to/venv/bin/python`\n - see *Working with Matplotlib in Virtual environments* in the [Matplotlib FAQ](http://matplotlib.org/faq/virtualenv_faq.html)\n \n### A simple example\nLet\u0027s start by making a very simple line plot:", |
| "user": "anonymous", |
| "dateUpdated": "2021-07-26 03:47:56.575", |
| "progress": 0, |
| "config": { |
| "tableHide": false, |
| "colWidth": 12.0, |
| "editorMode": "ace/mode/text", |
| "editorHide": true, |
| "enabled": true, |
| "results": [ |
| { |
| "graph": { |
| "mode": "table", |
| "height": 300.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| } |
| } |
| ], |
| "editorSetting": { |
| "language": "text", |
| "editOnDblClick": false |
| }, |
| "fontSize": 9.0 |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "results": { |
| "code": "SUCCESS", |
| "msg": [ |
| { |
| "type": "HTML", |
| "data": "\u003cdiv class\u003d\"markdown-body\"\u003e\n\u003ch2\u003eIntroduction\u003c/h2\u003e\n\u003cp\u003e\u003cspan style\u003d\"color:red\"\u003eTo be noticed, this is outdated tutorial for using Matplotlib in Zeppelin. We recommend user to use IPython in Zeppelin. Please refer the IPython Tutorial.\u003c/span\u003e\u003c/p\u003e\n\u003cp\u003eIn this tutorial we will go through some of the basic features of Zeppelin\u0026rsquo;s built-in matplotlib integration. To be noticed, this tutorial is only for Vanilla Python Interpreter (\u003ccode\u003e%python\u003c/code\u003e or \u003ccode\u003e%spark.pyspark\u003c/code\u003e). You can refer another tutorial (IPython Visualization Tutorial) for using Matplotlib in IPython Interpreter.\u003c/p\u003e\n\u003ch3\u003ePrerequisites\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003ematplotlib\u003c/code\u003e must be installed to your local python installation. (use \u003ccode\u003epip install matplotlib\u003c/code\u003e or \u003ccode\u003econda install matplotlib\u003c/code\u003e if you have \u003ccode\u003econda\u003c/code\u003e). Additionally, you will need Zeppelin\u0026rsquo;s matplotlib backend files which are usually found in \u003ccode\u003e$ZEPPELIN_HOME/lib/python\u003c/code\u003e. Although Zeppelin should automatically find this directory, it might be a good idea to add it to your \u003ccode\u003ePYTHONPATH\u003c/code\u003e just in case.\u003c/p\u003e\n\u003ch3\u003eInterpreters\u003c/h3\u003e\n\u003cp\u003eMost of the examples shown in this tutorial can be used interchangeably with either the \u003ccode\u003epython\u003c/code\u003e or \u003ccode\u003epyspark\u003c/code\u003e interpreters. Iterative plotting using the Angular Display System is currently only available for \u003ccode\u003epyspark\u003c/code\u003e, but this functionality will eventually be added to the base \u003ccode\u003epython\u003c/code\u003e interpreter.\u003c/p\u003e\n\u003ch3\u003emacOS\u003c/h3\u003e\n\u003cp\u003eMake sure locale is set, to avoid \u003ccode\u003eValueError: unknown locale: UTF-8\u003c/code\u003e\u003c/p\u003e\n\u003ch3\u003evirtualenv\u003c/h3\u003e\n\u003cp\u003eIn case you want to use virtualenv or conda env:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003econfigure python interpreter property -\u0026gt; \u003ccode\u003eabsolute/path/to/venv/bin/python\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003esee \u003cem\u003eWorking with Matplotlib in Virtual environments\u003c/em\u003e in the \u003ca href\u003d\"http://matplotlib.org/faq/virtualenv_faq.html\"\u003eMatplotlib FAQ\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eA simple example\u003c/h3\u003e\n\u003cp\u003eLet\u0026rsquo;s start by making a very simple line plot:\u003c/p\u003e\n\n\u003c/div\u003e" |
| } |
| ] |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627954_-1473548609", |
| "id": "20160614-174657_1772993700", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "dateStarted": "2021-07-26 03:47:56.578", |
| "dateFinished": "2021-07-26 03:47:56.591", |
| "status": "FINISHED" |
| }, |
| { |
| "text": "%python\nimport matplotlib.pyplot as plt\nplt.plot([1, 2, 3])", |
| "user": "anonymous", |
| "dateUpdated": "2021-07-26 03:47:29.783", |
| "progress": 0, |
| "config": { |
| "colWidth": 12.0, |
| "editorMode": "ace/mode/python", |
| "enabled": true, |
| "results": [ |
| { |
| "graph": { |
| "mode": "table", |
| "height": 300.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| } |
| } |
| ], |
| "fontSize": 9.0, |
| "editorSetting": { |
| "language": "python", |
| "editOnDblClick": false, |
| "completionSupport": true |
| } |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627958_-1475087605", |
| "id": "20161101-192232_289486976", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "dateStarted": "2021-07-26 03:47:29.787", |
| "dateFinished": "2021-07-26 03:47:31.206", |
| "status": "FINISHED" |
| }, |
| { |
| "text": "%md\nNotice how an explicit call to `show()` is not necessary. This is accomplished via a post-execute hook which tells Zeppelin to plot all currently open matplotlib figures after executing the rest of the paragraph.\n### Plotting multiple figures\nWe can easily plot multiple figures at once too:", |
| "user": "anonymous", |
| "dateUpdated": "2021-07-26 03:47:59.300", |
| "progress": 0, |
| "config": { |
| "colWidth": 12.0, |
| "editorMode": "ace/mode/markdown", |
| "editorHide": true, |
| "enabled": true, |
| "results": [ |
| { |
| "graph": { |
| "mode": "table", |
| "height": 300.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| } |
| } |
| ], |
| "fontSize": 9.0, |
| "editorSetting": {} |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "results": { |
| "code": "SUCCESS", |
| "msg": [ |
| { |
| "type": "HTML", |
| "data": "\u003cdiv class\u003d\"markdown-body\"\u003e\n\u003cp\u003eNotice how an explicit call to \u003ccode\u003eshow()\u003c/code\u003e is not necessary. This is accomplished via a post-execute hook which tells Zeppelin to plot all currently open matplotlib figures after executing the rest of the paragraph.\u003c/p\u003e\n\u003ch3\u003ePlotting multiple figures\u003c/h3\u003e\n\u003cp\u003eWe can easily plot multiple figures at once too:\u003c/p\u003e\n\n\u003c/div\u003e" |
| } |
| ] |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627958_-1475087605", |
| "id": "20160617-002131_1552178409", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "dateStarted": "2021-07-26 03:47:59.303", |
| "dateFinished": "2021-07-26 03:47:59.308", |
| "status": "FINISHED" |
| }, |
| { |
| "text": "%python\n# Figure 1\nplt.plot([1, 2, 3])\n\n# Figure 2\nplt.figure()\nplt.plot([3, 2, 1])", |
| "user": "anonymous", |
| "dateUpdated": "2021-07-26 03:47:31.392", |
| "progress": 0, |
| "config": { |
| "colWidth": 12.0, |
| "editorMode": "ace/mode/python", |
| "enabled": true, |
| "results": [ |
| { |
| "graph": { |
| "mode": "table", |
| "height": 300.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| } |
| } |
| ], |
| "fontSize": 9.0, |
| "editorSetting": { |
| "language": "python", |
| "editOnDblClick": false, |
| "completionSupport": true |
| } |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627959_-1475472354", |
| "id": "20161101-193533_2096366908", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "dateStarted": "2021-07-26 03:47:31.395", |
| "dateFinished": "2021-07-26 03:47:31.452", |
| "status": "FINISHED" |
| }, |
| { |
| "text": "%md\n### Changing the default inline plotting behavior\nBoth the `python` and `pyspark` include a built-in function for changing some default inline plotting behavior. For example, we can change the default size of each figure in pixels to 400x300 in svg format using: ", |
| "user": "anonymous", |
| "dateUpdated": "2021-07-26 03:48:01.436", |
| "progress": 0, |
| "config": { |
| "tableHide": false, |
| "colWidth": 12.0, |
| "editorMode": "ace/mode/markdown", |
| "editorHide": true, |
| "enabled": true, |
| "results": [ |
| { |
| "graph": { |
| "mode": "table", |
| "height": 300.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| } |
| } |
| ], |
| "fontSize": 9.0, |
| "editorSetting": {} |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "results": { |
| "code": "SUCCESS", |
| "msg": [ |
| { |
| "type": "HTML", |
| "data": "\u003cdiv class\u003d\"markdown-body\"\u003e\n\u003ch3\u003eChanging the default inline plotting behavior\u003c/h3\u003e\n\u003cp\u003eBoth the \u003ccode\u003epython\u003c/code\u003e and \u003ccode\u003epyspark\u003c/code\u003e include a built-in function for changing some default inline plotting behavior. For example, we can change the default size of each figure in pixels to 400x300 in svg format using:\u003c/p\u003e\n\n\u003c/div\u003e" |
| } |
| ] |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627959_-1475472354", |
| "id": "20160614-174421_274483707", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "dateStarted": "2021-07-26 03:48:01.441", |
| "dateFinished": "2021-07-26 03:48:01.449", |
| "status": "FINISHED" |
| }, |
| { |
| "text": "%python\nz.configure_mpl(width\u003d400, height\u003d300, fmt\u003d\u0027svg\u0027)\nplt.plot([1, 2, 3])", |
| "user": "anonymous", |
| "dateUpdated": "2021-07-26 03:47:31.598", |
| "progress": 0, |
| "config": { |
| "colWidth": 12.0, |
| "editorMode": "ace/mode/python", |
| "enabled": true, |
| "results": [ |
| { |
| "graph": { |
| "mode": "table", |
| "height": 300.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| } |
| } |
| ], |
| "fontSize": 9.0, |
| "editorSetting": { |
| "language": "python", |
| "editOnDblClick": false, |
| "completionSupport": true |
| } |
| }, |
| "settings": { |
| "params": { |
| "f1": "defaultValue" |
| }, |
| "forms": {} |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627959_-1475472354", |
| "id": "20160616-234947_579056637", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "dateStarted": "2021-07-26 03:47:31.603", |
| "dateFinished": "2021-07-26 03:47:31.661", |
| "status": "ERROR" |
| }, |
| { |
| "text": "%md\n### Iteratively updating a plot\n#### (a) Using multiple plots\nNow let\u0027s show an example where we update each element of the plot in a separate paragraph. However, you may have noticed that each matplotlib figure instance gets closed immediately after its shown. To fix this, we set the `close` property to `False` in our configuration:", |
| "user": "anonymous", |
| "dateUpdated": "2021-07-26 03:48:03.271", |
| "progress": 0, |
| "config": { |
| "colWidth": 12.0, |
| "editorMode": "ace/mode/markdown", |
| "editorHide": true, |
| "enabled": true, |
| "results": [ |
| { |
| "graph": { |
| "mode": "table", |
| "height": 394.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| } |
| } |
| ], |
| "fontSize": 9.0, |
| "editorSetting": {} |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "results": { |
| "code": "SUCCESS", |
| "msg": [ |
| { |
| "type": "HTML", |
| "data": "\u003cdiv class\u003d\"markdown-body\"\u003e\n\u003ch3\u003eIteratively updating a plot\u003c/h3\u003e\n\u003ch4\u003e(a) Using multiple plots\u003c/h4\u003e\n\u003cp\u003eNow let\u0026rsquo;s show an example where we update each element of the plot in a separate paragraph. However, you may have noticed that each matplotlib figure instance gets closed immediately after its shown. To fix this, we set the \u003ccode\u003eclose\u003c/code\u003e property to \u003ccode\u003eFalse\u003c/code\u003e in our configuration:\u003c/p\u003e\n\n\u003c/div\u003e" |
| } |
| ] |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627960_-1477396098", |
| "id": "20160617-140439_1111727405", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "dateStarted": "2021-07-26 03:48:03.273", |
| "dateFinished": "2021-07-26 03:48:03.283", |
| "status": "FINISHED" |
| }, |
| { |
| "title": "First line", |
| "text": "%python\nplt.close() # Added here to reset the first plot when rerunning the paragraph\nz.configure_mpl(width\u003d600, height\u003d400, fmt\u003d\u0027png\u0027, close\u003dFalse)\nplt.plot([1, 2, 3], label\u003dr\u0027$y\u003dx$\u0027)", |
| "user": "anonymous", |
| "dateUpdated": "2016-11-02 14:53:47.000", |
| "progress": 0, |
| "config": { |
| "colWidth": 12.0, |
| "title": true, |
| "enabled": true, |
| "results": [ |
| { |
| "graph": { |
| "mode": "table", |
| "height": 389.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| } |
| } |
| ] |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627960_-1477396098", |
| "id": "20161101-195657_1336292109", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "status": "READY", |
| "errorMessage": "" |
| }, |
| { |
| "title": "Second line", |
| "text": "%python\nplt.plot([3, 2, 1], label\u003dr\u0027$y\u003d3-x$\u0027)", |
| "user": "anonymous", |
| "dateUpdated": "2016-11-02 14:53:47.000", |
| "progress": 0, |
| "config": { |
| "colWidth": 12.0, |
| "editorMode": "ace/mode/python", |
| "title": true, |
| "enabled": true, |
| "results": [ |
| { |
| "graph": { |
| "mode": "table", |
| "height": 289.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| } |
| } |
| ] |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627961_-1477780847", |
| "id": "20161101-195937_907325325", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "status": "READY", |
| "errorMessage": "" |
| }, |
| { |
| "title": "Label axes", |
| "text": "%python\nplt.xlabel(r\u0027$x$\u0027, fontsize\u003d20)\nplt.ylabel(r\u0027$y$\u0027, fontsize\u003d20)", |
| "user": "anonymous", |
| "dateUpdated": "2016-11-02 14:53:47.000", |
| "progress": 0, |
| "config": { |
| "colWidth": 12.0, |
| "editorMode": "ace/mode/python", |
| "title": true, |
| "enabled": true, |
| "results": [ |
| { |
| "graph": { |
| "mode": "table", |
| "height": 300.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| } |
| } |
| ] |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627962_-1476626600", |
| "id": "20161101-200014_2113468597", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "status": "READY", |
| "errorMessage": "" |
| }, |
| { |
| "title": "Add legend", |
| "text": "%python\nplt.legend(loc\u003d\u0027upper center\u0027, fontsize\u003d20)", |
| "user": "anonymous", |
| "dateUpdated": "2016-11-02 14:53:47.000", |
| "progress": 0, |
| "config": { |
| "colWidth": 12.0, |
| "editorMode": "ace/mode/python", |
| "title": true, |
| "enabled": true, |
| "results": [ |
| { |
| "graph": { |
| "mode": "table", |
| "height": 86.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| } |
| } |
| ] |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627962_-1476626600", |
| "id": "20161101-200141_1493024813", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "status": "READY", |
| "errorMessage": "" |
| }, |
| { |
| "title": "Add title", |
| "text": "%python\nplt.title(\u0027Inline plotting example\u0027, fontsize\u003d20)", |
| "user": "anonymous", |
| "dateUpdated": "2016-11-02 14:53:47.000", |
| "progress": 0, |
| "config": { |
| "colWidth": 12.0, |
| "editorMode": "ace/mode/python", |
| "title": true, |
| "enabled": true, |
| "results": [ |
| { |
| "graph": { |
| "mode": "table", |
| "height": 300.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| } |
| } |
| ] |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627963_-1477011349", |
| "id": "20161101-200445_78775142", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "status": "READY", |
| "errorMessage": "" |
| }, |
| { |
| "text": "%md\n####(b) Using a single plot\nTo iteratively update a single plot, we can leverage Zeppelin\u0027s built-in Angular Display System. Currently this feature is only available for the `pyspark` interpreter for raster (png and jpg) formats. To enable this, we must set a special `angular` flag to `True` in our configuration:", |
| "user": "anonymous", |
| "dateUpdated": "2021-07-26 03:48:06.311", |
| "progress": 0, |
| "config": { |
| "colWidth": 12.0, |
| "editorMode": "ace/mode/markdown", |
| "editorHide": true, |
| "enabled": true, |
| "results": [ |
| { |
| "graph": { |
| "mode": "table", |
| "height": 300.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| } |
| } |
| ], |
| "fontSize": 9.0, |
| "editorSetting": {} |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "results": { |
| "code": "SUCCESS", |
| "msg": [ |
| { |
| "type": "HTML", |
| "data": "\u003cdiv class\u003d\"markdown-body\"\u003e\n\u003cp\u003e####(b) Using a single plot\u003cbr /\u003e\nTo iteratively update a single plot, we can leverage Zeppelin\u0026rsquo;s built-in Angular Display System. Currently this feature is only available for the \u003ccode\u003epyspark\u003c/code\u003e interpreter for raster (png and jpg) formats. To enable this, we must set a special \u003ccode\u003eangular\u003c/code\u003e flag to \u003ccode\u003eTrue\u003c/code\u003e in our configuration:\u003c/p\u003e\n\n\u003c/div\u003e" |
| } |
| ] |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627963_-1477011349", |
| "id": "20161101-200541_1283841564", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "dateStarted": "2021-07-26 03:48:06.313", |
| "dateFinished": "2021-07-26 03:48:06.319", |
| "status": "FINISHED" |
| }, |
| { |
| "title": "First line (figure will be displayed here)", |
| "text": "%pyspark\nimport matplotlib.pyplot as plt\nplt.close() # Added here to reset the plot when rerunning the paragraph\nz.configure_mpl(angular\u003dTrue, close\u003dFalse)\nplt.plot([1, 2, 3], label\u003dr\u0027$y\u003dx$\u0027)", |
| "user": "anonymous", |
| "dateUpdated": "2016-11-02 14:55:37.000", |
| "progress": 0, |
| "config": { |
| "colWidth": 7.0, |
| "editorMode": "ace/mode/python", |
| "title": true, |
| "enabled": true, |
| "results": [ |
| { |
| "graph": { |
| "mode": "table", |
| "height": 389.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| } |
| } |
| ] |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627963_-1477011349", |
| "id": "20161101-200754_739212093", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "dateStarted": "2016-11-02 14:54:53.000", |
| "dateFinished": "2016-11-02 14:55:04.000", |
| "status": "FINISHED" |
| }, |
| { |
| "title": "Second line", |
| "text": "%pyspark\nplt.plot([3, 2, 1], label\u003dr\u0027$y\u003d3-x$\u0027)", |
| "user": "anonymous", |
| "dateUpdated": "2016-11-02 14:53:47.000", |
| "progress": 0, |
| "config": { |
| "colWidth": 5.0, |
| "title": true, |
| "enabled": true, |
| "results": [] |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627964_-1478935094", |
| "id": "20161101-200854_1676504884", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "status": "READY", |
| "errorMessage": "" |
| }, |
| { |
| "title": "Label axes", |
| "text": "%pyspark\nplt.xlabel(r\u0027$x$\u0027, fontsize\u003d20)\nplt.ylabel(r\u0027$y$\u0027, fontsize\u003d20)", |
| "user": "anonymous", |
| "dateUpdated": "2016-11-02 14:53:47.000", |
| "progress": 0, |
| "config": { |
| "colWidth": 5.0, |
| "title": true, |
| "enabled": true, |
| "results": [] |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627964_-1478935094", |
| "id": "20161101-200851_314384892", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "status": "READY", |
| "errorMessage": "" |
| }, |
| { |
| "title": "Add legend", |
| "text": "%pyspark\nplt.legend(loc\u003d\u0027upper center\u0027, fontsize\u003d20)", |
| "user": "anonymous", |
| "dateUpdated": "2016-11-02 14:53:47.000", |
| "progress": 0, |
| "config": { |
| "colWidth": 5.0, |
| "editorMode": "ace/mode/python", |
| "title": true, |
| "enabled": true, |
| "results": [] |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627964_-1478935094", |
| "id": "20161101-201552_651686132", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "status": "READY", |
| "errorMessage": "" |
| }, |
| { |
| "title": "Add title", |
| "text": "%pyspark\nplt.title(\u0027Inline plotting example\u0027, fontsize\u003d20)", |
| "user": "anonymous", |
| "dateUpdated": "2016-11-02 14:53:47.000", |
| "progress": 0, |
| "config": { |
| "colWidth": 5.0, |
| "editorMode": "ace/mode/python", |
| "title": true, |
| "enabled": true, |
| "results": [] |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627965_-1479319843", |
| "id": "20161101-202024_1645454710", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "status": "READY", |
| "errorMessage": "" |
| }, |
| { |
| "text": "", |
| "user": "anonymous", |
| "dateUpdated": "2016-11-02 14:53:47.000", |
| "progress": 0, |
| "config": { |
| "colWidth": 12.0, |
| "graph": { |
| "mode": "table", |
| "height": 300.0, |
| "optionOpen": false, |
| "keys": [], |
| "values": [], |
| "groups": [], |
| "scatter": {} |
| }, |
| "enabled": true |
| }, |
| "settings": { |
| "params": {}, |
| "forms": {} |
| }, |
| "apps": [], |
| "runtimeInfos": {}, |
| "progressUpdateIntervalMs": 500, |
| "jobName": "paragraph_1478123627965_-1479319843", |
| "id": "20161102-124716_1703649609", |
| "dateCreated": "2016-11-02 14:53:47.000", |
| "status": "READY", |
| "errorMessage": "" |
| } |
| ], |
| "name": "4. Matplotlib (Python, PySpark)", |
| "id": "2C2AUG798", |
| "defaultInterpreterGroup": "spark", |
| "noteParams": {}, |
| "noteForms": {}, |
| "angularObjects": { |
| "2C6WUGPNH:shared_process": [], |
| "2C4A8RJNB:shared_process": [], |
| "2C4DTK2ZT:shared_process": [], |
| "2C6XKJWBR:shared_process": [], |
| "2C6AHZPMK:shared_process": [], |
| "2C5SU66WQ:shared_process": [], |
| "2C6AMJ98Q:shared_process": [], |
| "2C4AJZK72:shared_process": [], |
| "2C3STPSD7:shared_process": [], |
| "2C4FJN9CK:shared_process": [], |
| "2C3CW6JBY:shared_process": [], |
| "2C5UPQX6Q:shared_process": [], |
| "2C5873KN4:shared_process": [], |
| "2C5719XN4:shared_process": [], |
| "2C52DE5G3:shared_process": [], |
| "2C4G28E63:shared_process": [], |
| "2C6CU96BC:shared_process": [], |
| "2C49A6WY3:shared_process": [], |
| "2C3NE73HG:shared_process": [] |
| }, |
| "config": { |
| "isZeppelinNotebookCronEnable": false |
| }, |
| "info": { |
| "isRunning": false |
| } |
| } |