{ "info": { "author": "Florian Finkernagel", "author_email": "finkernagel@coonabibba.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Visualization" ], "description": "pyggplot\n========\n\npyggplot is a Pythonic wrapper around the [R ggplot2 library](http://had.co.nz/ggplot2/).\n\nIt is based on a a straightforward *take [Pandas](http://pandas.pydata.org/) data frames and shove them into [R](http://www.r-project.org/) via [rpy2](https://pypi.python.org/pypi/rpy2)* approach.\n\n## Examples\nPlease visit http://nbviewer.ipython.org/url/tyberiusprime.github.io/pyggplot/pyggplot%20samples.ipynb\n\n## Installation\n\nThe easiest installation is via [PyPI](https://pypi.python.org/pypi).\n\n $ pip install pyggplot\n\nYou may be required to update `pandas`, `rpy2`, so you may be required to run\n\n $ pip install --upgrade pyggplot \n\n## Usage\n\n import pandas as pd\n import numpy as np\n import ggplot\n\n df = pd.DataFrame({'x': np.random.rand(100),\n 'y': np.random.randn(100),\n 'group': ['A','B'] * 50})\n\n p = pyggplot.Plot(df)\n p.add_scatter('x','y', color='group')\n p.render('output.png')\n ## or if you want to use it in IPython Notebook\n # p.render_notebook()\n\n\n\n## Further usage\n\nTakes a `pandas.DataFrame` object, then add layers with the various `add_xyz`\nfunctions (e.g. `add_scatter`).\n\nRefer to the ggplot documentation about the layers (geoms), and simply\nreplace `geom_*` with `add_*`.\nSee: http://docs.ggplot2.org/0.9.3.1/index.html\n\nYou do not need to separate aesthetics from values - the wrapper\nwill treat a parameter as value if and only if it is not a column name.\n(so `y = 0` is a value, `color = 'blue'` is a value - except if you have a column `'blue'`, then it is a column!.\nAnd `y = 'value'` does not work, but that seems to be a ggplot issue).\n\nWhen the DataFrame is passed to R:\n\n* row indices are turned into columns with 'reset_index',\n* multi level column indices are flattened by concatenating them with `' '`, that is `(X, 'mean')` becomes `'x mean'`.\n\nError messages are not great - most of them translate to 'one or more columns were not found',\nbut they can appear as a lot of different actual messages such as\n\n* argument \"env\" is missing, with no default\n* object 'y' not found\n* object 'dat_0' not found\n* requires the following missing aesthetics: x\n* non numeric argument to binary operator\n\nwithout actually quite pointing at what is strictly the offending value.\nAlso, the error appears when rendering (or printing in the [IPython Notebook](http://ipython.org/notebook.html)),\nnot when adding the layer.\n\n## Open questions\n\n* the stat support is not great - it doesn't easily map into pythonic objects. For now, do your stats in pandas - more powerful anyhow! \n* how could error messages be improved?\n\n\n\n## Other ggplots' for python\n\n* http://ggplot.yhathq.com/ is a port of ggplot2 for python based on matplotlib - unfortunatly not yet feature complete as of early 2015.\n* https://github.com/sirrice/pyplot is another wrapper for ggplot closer to R's syntax, and does not rely on rpy2 - calls command line R.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/TyberiusPrime/pyggplot", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "pyggplot", "package_url": "https://pypi.org/project/pyggplot/", "platform": "", "project_url": "https://pypi.org/project/pyggplot/", "project_urls": { "Homepage": "https://github.com/TyberiusPrime/pyggplot" }, "release_url": "https://pypi.org/project/pyggplot/27/", "requires_dist": null, "requires_python": "", "summary": "A Pythonic wrapper around R's ggplot", "version": "27" }, "last_serial": 4943358, "releases": { "1": [ { "comment_text": "", "digests": { "md5": "b6aee43548c1db46cd5e442041cce8a1", "sha256": "3900eeb4e7071d5f03b457bf4b9e2cd9adc2dcbd2040441b3d2efdb720477610" }, "downloads": -1, "filename": "pyggplot-1.tar.gz", "has_sig": false, "md5_digest": "b6aee43548c1db46cd5e442041cce8a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18597, "upload_time": "2015-02-11T10:36:21", "url": "https://files.pythonhosted.org/packages/6c/f4/0bb35311b36501ed65c97ebbb115080dc56fa08ddd2288fb682fb8da7599/pyggplot-1.tar.gz" } ], "10": [ { "comment_text": "", "digests": { "md5": "3c0be09aa6635707da487a899eea85f0", "sha256": "54175f1435233cdf9c1fb9e757283b56a102a9331ac7329c9fdf2d8ac513c360" }, "downloads": -1, "filename": "pyggplot-10.tar.gz", "has_sig": false, "md5_digest": "3c0be09aa6635707da487a899eea85f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18564, "upload_time": "2015-02-19T18:39:48", "url": "https://files.pythonhosted.org/packages/a0/de/f0bffc1e3a612cf2dff7f587bcb177f73306216bfca03c4d2a5868a48784/pyggplot-10.tar.gz" } ], "11": [ { "comment_text": "", "digests": { "md5": "2e9e9cd1b1c4ea6242676270304c0896", "sha256": "508893cb946577e85b84bff0202bc426d40eec7eebf64da8337c0faf4c35b642" }, "downloads": -1, "filename": "pyggplot-11.tar.gz", "has_sig": false, "md5_digest": "2e9e9cd1b1c4ea6242676270304c0896", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18571, "upload_time": "2015-02-19T18:41:53", "url": "https://files.pythonhosted.org/packages/da/83/a181a4d3d5eda247d3763f2cf4e9e8c358d1ddf7240331cd55205ccf3765/pyggplot-11.tar.gz" } ], "12": [ { "comment_text": "", "digests": { "md5": "51c334d39793ff72adb5ab79d6a18903", "sha256": "76cb549434a381ba455e78346122bfe211123eeb4f3754ffbdc9d361d469c3fa" }, "downloads": -1, "filename": "pyggplot-12.tar.gz", "has_sig": false, "md5_digest": "51c334d39793ff72adb5ab79d6a18903", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19357, "upload_time": "2015-02-19T18:46:32", "url": "https://files.pythonhosted.org/packages/46/50/1528acdf9d92dbc09df95431f4ef4bc1746f38f430c951cf9e0f7d4428dd/pyggplot-12.tar.gz" } ], "13": [ { "comment_text": "", "digests": { "md5": "cf57fd1f79d6a4019a8370d02f7d7976", "sha256": "413134436cfb59149524ec1f606002d9209dc9853607af7aed18b395caa6850f" }, "downloads": -1, "filename": "pyggplot-13.tar.gz", "has_sig": false, "md5_digest": "cf57fd1f79d6a4019a8370d02f7d7976", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19095, "upload_time": "2015-02-20T14:52:59", "url": "https://files.pythonhosted.org/packages/9d/ea/699d99a77d8ec9380e431ab886044ce1b7ec5a110e389864d76801e79b05/pyggplot-13.tar.gz" } ], "15": [ { "comment_text": "", "digests": { "md5": "3e4bf87d9f245ec670a1880fe395e77d", "sha256": "ca73ad8fa95be82321edc7a309ebdb10bf6cf0e725c8b38bd11a8c957af86ec4" }, "downloads": -1, "filename": "pyggplot-15.tar.gz", "has_sig": false, "md5_digest": "3e4bf87d9f245ec670a1880fe395e77d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19667, "upload_time": "2015-02-20T15:42:05", "url": "https://files.pythonhosted.org/packages/bc/d1/2f3c4075e40731b7c035acacf28de5549ed3256f307153a15bae4aba5612/pyggplot-15.tar.gz" } ], "16": [ { "comment_text": "", "digests": { "md5": "ee95aa4f11700b841db23396b33bf6ae", "sha256": "f743caa390528412d46d1a6d622b3836b71d8b7910f79e97c04d2df263bae7a5" }, "downloads": -1, "filename": "pyggplot-16.tar.gz", "has_sig": false, "md5_digest": "ee95aa4f11700b841db23396b33bf6ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20363, "upload_time": "2015-02-20T15:46:16", "url": "https://files.pythonhosted.org/packages/f6/c0/1898f25141acfd05c89ce506aaea40ffc5801a8dbd730afdd0553865d68d/pyggplot-16.tar.gz" } ], "17": [ { "comment_text": "", "digests": { "md5": "56d4d29efb4979d5686dfd5e6657666a", "sha256": "d7ea22046c8b401e632c96aa572a435b4a47665d129b03d5be4805114273e1a4" }, "downloads": -1, "filename": "pyggplot-17.tar.gz", "has_sig": false, "md5_digest": "56d4d29efb4979d5686dfd5e6657666a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20719, "upload_time": "2015-02-25T10:06:27", "url": "https://files.pythonhosted.org/packages/fc/a4/1d47b9e82edf33c13f5a8413f3ebffd30b347f99b9e2e94718d523a056b3/pyggplot-17.tar.gz" } ], "19": [ { "comment_text": "", "digests": { "md5": "db48bf0c6f2402cbc5765dec1c37758d", "sha256": "b90e228a468766a7da0be8b152532d82ed1741d045a7b4424ccda31a56571da9" }, "downloads": -1, "filename": "pyggplot-19.tar.gz", "has_sig": false, "md5_digest": "db48bf0c6f2402cbc5765dec1c37758d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19150, "upload_time": "2015-04-02T12:35:15", "url": "https://files.pythonhosted.org/packages/99/ad/a935ada7511f6aeb998e21f2f70e99c82385d9a2011f674bb45a269d575b/pyggplot-19.tar.gz" } ], "2": [ { "comment_text": "", "digests": { "md5": "20528372032a32f8533aa276639f5bd9", "sha256": "d05938eb605fa4f6dea2ed3567f6478abf13a38c2a2272953d4146a2d0f28a49" }, "downloads": -1, "filename": "pyggplot-2.tar.gz", "has_sig": false, "md5_digest": "20528372032a32f8533aa276639f5bd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17660, "upload_time": "2015-02-11T10:41:05", "url": "https://files.pythonhosted.org/packages/98/ea/59742bb3a5f8e178eb195134ec13ea5e0f140b9377534ab3e750ff10bed6/pyggplot-2.tar.gz" } ], "20": [ { "comment_text": "", "digests": { "md5": "e7613b33e1e67b3f7c6d52c6a83e9e29", "sha256": "153c0876b902c8898037a4e33c48a1709984b0451cc4a10da95ce1436799733a" }, "downloads": -1, "filename": "pyggplot-20.tar.gz", "has_sig": false, "md5_digest": "e7613b33e1e67b3f7c6d52c6a83e9e29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19250, "upload_time": "2015-04-02T12:49:00", "url": "https://files.pythonhosted.org/packages/dc/17/ad09d95871fd2cfea5e910124fd1fe0d79f9c03b2967e526ebad5d693d6d/pyggplot-20.tar.gz" } ], "21": [ { "comment_text": "", "digests": { "md5": "942bd0548de3fb80c94dc3394c1a75e8", "sha256": "5ad2a5bf7d9d9ff0c6bb80886a204c33f5473b2a069b1d82a21491bd3eda031f" }, "downloads": -1, "filename": "pyggplot-21.tar.gz", "has_sig": false, "md5_digest": "942bd0548de3fb80c94dc3394c1a75e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19797, "upload_time": "2015-05-21T10:57:48", "url": "https://files.pythonhosted.org/packages/dc/91/a0699799ee419fffae8b13781bcaf40c250252f57aaa95e438a7c9f355df/pyggplot-21.tar.gz" } ], "22": [ { "comment_text": "", "digests": { "md5": "8a29f6861e361f53de605a0d45e01a30", "sha256": "5e38b635072cfc2ece11dc29bcb00eff3cc0c90a2536ba580e63dfe8a0a5d20b" }, "downloads": -1, "filename": "pyggplot-22.tar.gz", "has_sig": false, "md5_digest": "8a29f6861e361f53de605a0d45e01a30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20392, "upload_time": "2015-05-21T10:58:44", "url": "https://files.pythonhosted.org/packages/13/a7/b49fd82a36e6c98e5f9127a9cf1256fb0fbab653377e68c791c2b126d0c7/pyggplot-22.tar.gz" } ], "23": [ { "comment_text": "", "digests": { "md5": "8e05e46fe83beae46092ca7b9ca10de3", "sha256": "63a3e89bc32a25b56916f7db1251f2a814e3fe705a8a9b85de950875aa2f72bd" }, "downloads": -1, "filename": "pyggplot-23.tar.gz", "has_sig": false, "md5_digest": "8e05e46fe83beae46092ca7b9ca10de3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21805, "upload_time": "2015-05-21T11:16:25", "url": "https://files.pythonhosted.org/packages/02/b7/c8de52aec85e786b1a2816b2c4f439132f08ac4ae020a4e0302932400c3f/pyggplot-23.tar.gz" } ], "24": [ { "comment_text": "", "digests": { "md5": "bb4210b4acda8c53edce93dbe4fbfd88", "sha256": "381672c99e68a572937cdba9756178a7f528f03cf39248b6dc9a43abe47baab4" }, "downloads": -1, "filename": "pyggplot-24.tar.gz", "has_sig": false, "md5_digest": "bb4210b4acda8c53edce93dbe4fbfd88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39917, "upload_time": "2018-11-23T09:54:54", "url": "https://files.pythonhosted.org/packages/95/6f/715ad8f7a5eb0bca5980c742bd0122339580741c5c62f32a8a0a481209d7/pyggplot-24.tar.gz" } ], "25": [ { "comment_text": "", "digests": { "md5": "ee6f80cddc226a3861d64b6b1c38b310", "sha256": "8a8ce82e90e7b584d346249a6c12778038e5a0b8949072cb6cc7008fd559e65a" }, "downloads": -1, "filename": "pyggplot-25.tar.gz", "has_sig": false, "md5_digest": "ee6f80cddc226a3861d64b6b1c38b310", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41232, "upload_time": "2018-11-23T09:57:01", "url": "https://files.pythonhosted.org/packages/3e/6a/3a5c55faa9f1c317104767bc1d362c929a9acd92fc8fd972d76cd6888824/pyggplot-25.tar.gz" } ], "26": [ { "comment_text": "", "digests": { "md5": "a74cbbb39cea6be908bf5880976cb75e", "sha256": "fc45e716eef90480c7acdd9d63ed95d56c2e6573ed01f29084a8a8241189532b" }, "downloads": -1, "filename": "pyggplot-26.tar.gz", "has_sig": false, "md5_digest": "a74cbbb39cea6be908bf5880976cb75e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39099, "upload_time": "2019-03-15T09:22:28", "url": "https://files.pythonhosted.org/packages/2d/0b/57685e5b1acd4c6da6eb17e4805d37b57dc3f56882027edcf3fdefaa38e7/pyggplot-26.tar.gz" } ], "27": [ { "comment_text": "", "digests": { "md5": "9b2555660f90272f630d086e11694819", "sha256": "96ff5f1ca4e73886a1f27927d91e426a8fc3ca860884ff864226795b1380327c" }, "downloads": -1, "filename": "pyggplot-27.tar.gz", "has_sig": false, "md5_digest": "9b2555660f90272f630d086e11694819", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39218, "upload_time": "2019-03-15T09:30:29", "url": "https://files.pythonhosted.org/packages/04/9d/a527c9b8a17715f4d23bd5d65ee9661a145c54554323b864f665bd258b10/pyggplot-27.tar.gz" } ], "3": [ { "comment_text": "", "digests": { "md5": "eb8548ac0150bfeedeba7c751537c958", "sha256": "84d5bb7a3e746ae8e9420847bc31b88cc003d223050e79032ea30ad1bfb2e9e0" }, "downloads": -1, "filename": "pyggplot-3.tar.gz", "has_sig": false, "md5_digest": "eb8548ac0150bfeedeba7c751537c958", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17643, "upload_time": "2015-02-11T15:50:34", "url": "https://files.pythonhosted.org/packages/eb/2f/26e53767933387714386896143774acde66f1f70d27cea9a4b77a49d1eaf/pyggplot-3.tar.gz" } ], "5": [ { "comment_text": "", "digests": { "md5": "805965fc490167400f37a3c90f979522", "sha256": "c3cd8a881ba239147f597a42647953feddbd68d12c4067d2a79f2b879c050808" }, "downloads": -1, "filename": "pyggplot-5.tar.gz", "has_sig": false, "md5_digest": "805965fc490167400f37a3c90f979522", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18490, "upload_time": "2015-02-11T15:52:18", "url": "https://files.pythonhosted.org/packages/75/d1/96689105dcdbae84b13e82576bc0cf29a0a211d68f69bdedc4903e8323cb/pyggplot-5.tar.gz" } ], "6": [ { "comment_text": "", "digests": { "md5": "7462e99fcdd972f2c04f79b1de39a69c", "sha256": "b3a507c45a6b835abfa99319afc2628ea15e26eb78442c7d48ff7f0568781f47" }, "downloads": -1, "filename": "pyggplot-6.tar.gz", "has_sig": false, "md5_digest": "7462e99fcdd972f2c04f79b1de39a69c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17648, "upload_time": "2015-02-11T16:31:34", "url": "https://files.pythonhosted.org/packages/6c/49/92df82e3c61e084068b358c0b23d436498018a905c1d38d933df4afb7213/pyggplot-6.tar.gz" } ], "7": [ { "comment_text": "", "digests": { "md5": "99eacb2547f6b7fdfc245423db180537", "sha256": "c47700280443fc40ddfa9c1575f6231a60c1fde7f835601c09cdf7403a35c0a3" }, "downloads": -1, "filename": "pyggplot-7.tar.gz", "has_sig": false, "md5_digest": "99eacb2547f6b7fdfc245423db180537", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18059, "upload_time": "2015-02-19T11:14:34", "url": "https://files.pythonhosted.org/packages/d1/66/0ee350e8fe95809e7a11cfc4d3a35bd0869ee5df55bd07db952f86a8e3b9/pyggplot-7.tar.gz" } ], "8": [ { "comment_text": "", "digests": { "md5": "9815ce73d2437a366830827d9da83fe5", "sha256": "f571798b9ff34ccbd6b59c360fb2a1909b6ae31d9047ac13d7f0ebf82c25e3a6" }, "downloads": -1, "filename": "pyggplot-8.tar.gz", "has_sig": false, "md5_digest": "9815ce73d2437a366830827d9da83fe5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17971, "upload_time": "2015-02-19T18:36:47", "url": "https://files.pythonhosted.org/packages/0a/ac/05406631614a1c5953eea86ebfe10cf307f2c1545b12457b540cae5178dc/pyggplot-8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9b2555660f90272f630d086e11694819", "sha256": "96ff5f1ca4e73886a1f27927d91e426a8fc3ca860884ff864226795b1380327c" }, "downloads": -1, "filename": "pyggplot-27.tar.gz", "has_sig": false, "md5_digest": "9b2555660f90272f630d086e11694819", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39218, "upload_time": "2019-03-15T09:30:29", "url": "https://files.pythonhosted.org/packages/04/9d/a527c9b8a17715f4d23bd5d65ee9661a145c54554323b864f665bd258b10/pyggplot-27.tar.gz" } ] }