{
"info": {
"author": "Sudeep Mandal",
"author_email": "sudeepmandal@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Intended Audience :: Other Audience",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Programming Language :: Python :: 2.7",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Information Analysis",
"Topic :: Scientific/Engineering :: Visualization",
"Topic :: Software Development :: Libraries",
"Topic :: Utilities"
],
"description": "easyplot\r\n=========\r\n\r\n**easyplot:** A matplotlib wrapper written in Python to enable fast and\r\neasy creation of reusable plots.\r\n\r\nThe EasyPlot module provides a thin wrapper to matplotlib, enabling fast and\r\neasy generation of beautiful, annotated plots with minimal code. It also enables\r\nthe reuse of EasyPlot instances to generate new plots that maintain state from\r\nprevious plots allowing for quick and easy generation of multiple plots of the\r\nsame type. EasyPlot supports all commonly used plot parameters and allows access\r\nto the underlying figure and axes instances to allow the user to further customize\r\nthe generated plots if necessary.\r\n\r\nFor more details and examples please see the included package documentation and\r\nthe IPython Notebook containing documentation and an extensive list of examples:\r\nhttp://nbviewer.ipython.org/github/HamsterHuey/easyplot/blob/master/docs/easyplot_docs.ipynb\r\n\r\n\r\nRequirements\r\n---------------\r\n- Python 2.7.2+\r\n- matplotlib\r\n\r\nUse of the `IPython `__ shell is strongly\r\nrecommended with this library (and matplotlib plotting in general). The\r\n``%matplotlib`` magic command in IPython (or starting IPython using\r\n``ipython --matplotlib``) implements a number of backend tweaks to\r\nenable robust, interactive plotting using matplotlib.\r\n\r\n\r\nInstallation\r\n==============\r\n\r\nYou can use the following commands to install EasyPlot:\r\n\r\n``pip install easyplot``\r\n\r\nor\r\n\r\n``easy_install easyplot``\r\n\r\nAlternatively, you could download the package manually from the Python\r\nPackage Index: https://pypi.python.org/pypi/EasyPlot, unzip it, navigate\r\ninto the package, and use the command:\r\n\r\n``python setup.py install``\r\n\r\nor\r\n\r\n``pip install .``\r\n\r\n\r\nMotivation and background\r\n===========================\r\n\r\nSetting up aesthetically pleasing plots with plot titles, axes labels, etc\r\nrequires several lines of boilerplate code in vanilla matplotlib. As an example,\r\ncreating a basic plot in matplotlib requires the following lines of code:\r\n\r\n.. code:: python\r\n\r\n fig, ax = plt.subplots()\r\n ax.plot(x, x**2, 'b-o', label=\"y = x**2\")\r\n ax.plot(x, x**3, 'r--s', label=\"y = x**3\")\r\n ax.legend(loc='best')\r\n ax.grid()\r\n ax.set_xlabel('x')\r\n ax.set_ylabel('y')\r\n ax.set_title('title')\r\n\r\n.. image:: https://raw.githubusercontent.com/HamsterHuey/easyplot/master/images/ep_motivation_1.png\r\n :align: center\r\n\r\nPylab alleviates some of this, but still requires calls to a number of\r\ndifferent functions that are commonly used (such as xlabel, xlim, etc.).\r\nMore complicated plots can require several more lines of code. Typing\r\nall this code every time to generate plots gets tedious very quickly.\r\nThis situation is further exacerbated when working in an IPython\r\nNotebook where all plots typically need to be labeled, annotated and\r\nlooking their best. Having several lines of code preceeding every plot\r\nin a notebook can break the flow of the document and distract from the\r\ncode/concepts being presented by the author. Furthermore, oftentimes,\r\nplots with similar labels and formatting need to be generated repeatedly\r\nwith different datasets. Generating these sets of plots would require\r\nretyping these same lines of boilerplate code across different sections\r\nof your code/notebook.\r\n\r\nEasyplot is my attempt to address these issues and make generating\r\nquick, pleasant looking, annotated plots a bit easier. In keeping with\r\n`DRY\r\nphilosophy `__,\r\n``easyplot`` enables the creation of an ``EasyPlot`` object that\r\nmaintains state information of all plot parameters passed to it in order\r\nto generate a plot. This can then be easily reused to generate new plots\r\nwith the user only having to supply any additional plot parameters, or\r\nthose parameters he or she wishes to override from the previous plot.\r\n\r\nEasyplot supports a large number of standard plot parameters that most\r\nusers typically deal with when plotting in matplotlib. Additionally, it\r\nprovides methods to access the figure and axes instance for the latest\r\nplot, enabling users to perform more custom plot modifications that are\r\nnot directly supported by easyplot. It also supports interactive\r\nplotting where additional plot parameters can be passed to the current\r\nplot using the ``update_plot`` method. The plot above can be generated\r\nusing ``easyplot`` as follows:\r\n\r\n.. code:: python\r\n\r\n eplot = EasyPlot(x, x**2, 'b-o', label='y = x**2', showlegend=True,\r\n xlabel='x', ylabel='y', title='title', grid='on')\r\n eplot.add_plot(x, x**3, 'r--s', label='y = x**3')\r\n\r\nAlong with the reduced typing, easyplot enables the consolidation and\r\npassing of all plot parameters into a single plot call. This is already\r\nquite handy, but the real benefit is evident when one needs to generate\r\na new plot with the same plot parameters (such as axis labels and title)\r\nbut with new data:\r\n\r\n.. code:: python\r\n\r\n eplot.new_plot(x, 1/x, 'g-D', label='y = 1/x')\r\n\r\n.. image:: https://raw.githubusercontent.com/HamsterHuey/easyplot/master/images/ep_motivation_2.png\r\n :align: center\r\n\r\n``EasyPlot`` also provides an ``iter_plot()`` method that iterates\r\nthrough x, y data and plot parameters that are provided in a list or\r\ndictionary format to automatically generate an annotated, multi-line\r\nplot with a single statement:\r\n\r\n.. code:: python\r\n\r\n eplot = EasyPlot(xlabel=r'$x$', ylabel='$y$', fontsize=16,\r\n colorcycle=[\"#66c2a5\",\"#fc8d62\",\"#8da0cb\"], figsize=(8,5))\r\n eplot.iter_plot(x, y_dict, linestyle=linestyle_dict, marker=marker_dict,\r\n label=labels_dict, linewidth=3, ms=10, showlegend=True, grid='on')\r\n\r\n.. image:: https://raw.githubusercontent.com/HamsterHuey/easyplot/master/images/ep_motivation_3.png\r\n :align: center\r\n\r\n\r\nFeatures\r\n========\r\n\r\n- Access to a large number of the most used matplotlib plot parameters under a \r\n unified wrapper class\r\n- Plot parameter aliases supported. Can be extended by user for\r\n arbitrary alias definitions for various plot parameters \r\n- Ability to use ``EasyPlot`` objects as templates to rapidly generate annotated\r\n plots of a similar type \r\n- ``iter_plot()`` method to easily iterate through x, y datasets and plot \r\n multiple plots with a single method call\r\n- Draggable legend when using GUI backends (eg: qt, wx, etc.)\r\n- Provides access to underlying figure, axes and line2D objects for advanced plot\r\n customization\r\n\r\n\r\nUsage and Examples\r\n==================\r\n\r\nFor more details and examples, please view the online IPython Notebook containing \r\neasyplot documentation and an extensive list of examples:\r\nhttp://nbviewer.ipython.org/github/HamsterHuey/easyplot/blob/master/docs/easyplot_docs.ipynb\r\n\r\nContact\r\n=============\r\n\r\nI'd love to hear your comments and/or suggestions. You can get in touch\r\nwith me via:\r\n\r\n- eMail: sudeepmandal@gmail.com\r\n- Twitter: https://twitter.com/hamsterhuey\r\n- Google+: https://plus.google.com/u/0/105292596991480463202",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/HamsterHuey/easyplot",
"keywords": "matplotlib wrapper plot easyplot",
"license": "MIT",
"maintainer": null,
"maintainer_email": null,
"name": "EasyPlot",
"package_url": "https://pypi.org/project/EasyPlot/",
"platform": "any",
"project_url": "https://pypi.org/project/EasyPlot/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "https://github.com/HamsterHuey/easyplot"
},
"release_url": "https://pypi.org/project/EasyPlot/1.0.0/",
"requires_dist": null,
"requires_python": null,
"summary": "A matplotlib wrapper for fast and easy generation of reusable plots",
"version": "1.0.0"
},
"last_serial": 1105176,
"releases": {
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "31c7bac33a45d02ddc97c8c632f14510",
"sha256": "01db1ac37b39ee33b96e1c5ea23d3d1028fb7a2498f07094bc1e88d12ef0a8ab"
},
"downloads": -1,
"filename": "EasyPlot-1.0.0.zip",
"has_sig": false,
"md5_digest": "31c7bac33a45d02ddc97c8c632f14510",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1280500,
"upload_time": "2014-05-27T04:02:58",
"url": "https://files.pythonhosted.org/packages/67/49/d7da61d46817af37674ebea4c7f8c908a854384f1cec4d724b4bf9db6d84/EasyPlot-1.0.0.zip"
}
],
"1.0.0b1": [
{
"comment_text": "",
"digests": {
"md5": "bcd614b20560f18dc04356c4d6f955bd",
"sha256": "326323cc6cb516c67c130970b07531a7b77ff71c19db1667173875c18c21fb5f"
},
"downloads": -1,
"filename": "EasyPlot-1.0.0b1.zip",
"has_sig": false,
"md5_digest": "bcd614b20560f18dc04356c4d6f955bd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1038133,
"upload_time": "2014-05-22T05:00:04",
"url": "https://files.pythonhosted.org/packages/0d/36/ab12696bf7db7f43e3377b71a5294a24c650fcf783b4bc65af1b7589ef47/EasyPlot-1.0.0b1.zip"
}
],
"1.0.0b2": [
{
"comment_text": "",
"digests": {
"md5": "2f5b63fe09c6e47538392b21fee8534c",
"sha256": "0d5bd23fc3fbcbecbf400fc4c124684b20b2b1a41f1efc699111a5782d299ae6"
},
"downloads": -1,
"filename": "EasyPlot-1.0.0b2.zip",
"has_sig": false,
"md5_digest": "2f5b63fe09c6e47538392b21fee8534c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1311196,
"upload_time": "2014-05-26T19:44:01",
"url": "https://files.pythonhosted.org/packages/b8/c8/ed33dc43c2c91edf1ab87c493c0a9e7d0d933d3f37840f692d11eab5c349/EasyPlot-1.0.0b2.zip"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "31c7bac33a45d02ddc97c8c632f14510",
"sha256": "01db1ac37b39ee33b96e1c5ea23d3d1028fb7a2498f07094bc1e88d12ef0a8ab"
},
"downloads": -1,
"filename": "EasyPlot-1.0.0.zip",
"has_sig": false,
"md5_digest": "31c7bac33a45d02ddc97c8c632f14510",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1280500,
"upload_time": "2014-05-27T04:02:58",
"url": "https://files.pythonhosted.org/packages/67/49/d7da61d46817af37674ebea4c7f8c908a854384f1cec4d724b4bf9db6d84/EasyPlot-1.0.0.zip"
}
]
}