Metadata-Version: 2.1
Name: gpplot
Version: 0.3.2
Summary: Plotting functions for the Genetic Perturbation Platform's R&D group at the Broad institute.
Home-page: https://github.com/gpp-rnd/gpplot
Author: Peter C DeWeirdt
Author-email: petedeweirdt@gmail.com
License: MIT license
Keywords: gpplot
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.5
Requires-Dist: seaborn (>=0.10)
Requires-Dist: scipy (>=1.5)
Requires-Dist: numpy (>=1.19)
Requires-Dist: matplotlib (>=3.2)
Requires-Dist: pandas (>=1.0)
Requires-Dist: adjustText (>=0.7)

======
gpplot
======


.. image:: https://img.shields.io/pypi/v/gpplot.svg
        :target: https://pypi.python.org/pypi/gpplot

.. image:: https://travis-ci.com/gpp-rnd/gpplot.svg?branch=master
        :target: https://travis-ci.com/gpp-rnd/gpplot

.. image:: https://readthedocs.org/projects/gpplot/badge/?version=latest
        :target: https://gpplot.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status



Introduction
------------

Plotting functions for the Genetic Perturbation Platform's R&D group at the Broad Institute.
Extends matplotlib and seaborn functionality with extra plot types. Includes functions for easy
styling and consistent color palettes.

* Free software: MIT license
* Documentation: https://gpplot.readthedocs.io.

Tutorial
--------

To install gpplot, run this command in your terminal::

    $ pip install gpplot

Import packages::

    import seaborn as sns
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    import gpplot

Set aesthetics for all plots using gpplot defaults::

    gpplot.set_aesthetics()

Setup data::

    nsamps = 20000
    scatter_data = pd.DataFrame({'x': np.random.normal(size = nsamps)}, index = range(nsamps))
    scatter_data['y'] = 2*scatter_data['x'] + np.random.normal(size = nsamps)

Create a point density plot and add a pearson correlation::

    fig, ax = plt.subplots(figsize = (4,4))
    ax = gpplot.point_densityplot(scatter_data, 'x', 'y', palette=gpplot.sequential_cmap())
    ax = gpplot.add_correlation(scatter_data, 'x', 'y')

.. image:: figures/pointdensity_example.png
    :width: 300px
    :height: 300px
    :align: center

Label points in a scatterplot::

    fig, ax = plt.subplots(figsize = (4,4))
    mpg = sns.load_dataset('mpg')
    ax = sns.scatterplot(data = mpg, x = 'weight', y = 'mpg', ax = ax)
    label = ['hi 1200d', 'ford f250', 'chevy c20', 'oldsmobile omega']
    gpplot.label_points(mpg, 'weight', 'mpg', label, 'name',
                        size = 12, style = 'italic')

.. image:: figures/label_example.png
    :width: 300px
    :height: 300px
    :align: center

TODO
----

Credits
-------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage


=======
History
=======

0.1.0 (2020-06-16)
------------------

* Project start

0.2.1 (2020-06-20)
------------------

* First release on pypi

0.2.2 (2020-06-25)
------------------

* Automatic integration with pypi

0.3.1 (2020-07-12)
------------------

* Add plt.gca to add_correlation and label_points
* Update docs to include notebook references

0.3.2 (2020-07-12)
------------------
* Added minimum version for requirements


