Chartify
========
![Status](https://img.shields.io/badge/Status-Beta-blue.svg)
![Latest release](https://img.shields.io/badge/Release-5.0.0-blue.svg "Latest release: 5.0.0")
![python](https://img.shields.io/badge/Python-3.9-blue.svg "Python 3.9")
![python](https://img.shields.io/badge/Python-3.10-blue.svg "Python 3.10")
![python](https://img.shields.io/badge/Python-3.11-blue.svg "Python 3.11")
![CI](https://github.com/spotify/chartify/workflows/Tox/badge.svg "Tox")
Chartify is a Python library that makes it easy for data scientists to create charts.
Why use Chartify?
-----------------
- Consistent input data format: Spend less time transforming data to get your charts to work. All plotting functions use a consistent tidy input data format.
- Smart default styles: Create pretty charts with very little customization required.
- Simple API: We've attempted to make the API as intuitive and easy to learn as possible.
- Flexibility: Chartify is built on top of [Bokeh](http://bokeh.pydata.org/en/latest/), so if you do need more control you can always fall back on Bokeh's API.
Examples
--------
![](https://raw.githubusercontent.com/spotify/chartify/master/docs/_static/chartify1.png)
![](https://raw.githubusercontent.com/spotify/chartify/master/docs/_static/chartify2.png)
![](https://raw.githubusercontent.com/spotify/chartify/master/docs/_static/chartify3.png)
![](https://raw.githubusercontent.com/spotify/chartify/master/docs/_static/chartify4.png)
![](https://raw.githubusercontent.com/spotify/chartify/master/docs/_static/chartify5.png)
![](https://raw.githubusercontent.com/spotify/chartify/master/docs/_static/chartify6.png)
[See this notebook for more examples!](</examples/Examples.ipynb>).
Installation
------------
1. Chartify can be installed via pip:
`pip3 install chartify`
2. Install chromedriver requirement (Optional. Needed for PNG output):
- Install google chrome.
- Download the appropriate version of chromedriver for your OS [here](https://sites.google.com/chromium.org/driver/).
- Copy the executable file to a directory within your PATH.
- View directorys in your PATH variable: `echo $PATH`
- Copy chromedriver to the appropriate directory, e.g.: `cp chromedriver /usr/local/bin`
Getting started
---------------
This [tutorial notebook](https://github.com/spotify/chartify/blob/master/examples/Chartify%20Tutorial.ipynb) is the best place to get started with a guided tour of the core concepts of Chartify.
From there, check out the [example notebook](https://github.com/spotify/chartify/blob/master/examples/Examples.ipynb) for a list of all the available plots.
Docs
---------------
Documentation available on [chartify.readthedocs.io](https://chartify.readthedocs.io/en/latest/).
Getting support
---------------
Use the [chartify tag on StackOverflow](https://stackoverflow.com/questions/tagged/chartify).
Code of Conduct
---------------
This project adheres to the [Open Code of Conduct](https://github.com/spotify/code-of-conduct/blob/master/code-of-conduct.md). By participating, you are expected to honor this code.
Contributing
------------
[See the contributing docs](https://github.com/spotify/chartify/blob/master/CONTRIBUTING.rst).
=======
History
=======
5.0.0 (2024-10-16)
* Drop support for Python 3.8
* Add support for Python 3.11
* Fixes bad cropping in png introduced by changes to chrome webdriver
* Add support and recommendation to use make black for code formatting
4.0.5 (2023-10-12)
------------------
* Relaxed scipy and pandas version requirements to allow verions 2.x
4.0.4 (2023-08-23)
------------------
* Documentation build fix
* Pin tornado requirement to reduce vulnerability
4.0.3 (2023-04-21)
------------------
* Require jupyter_bokeh to enable html output
4.0.2 (2023-03-30)
------------------
* Fix categorical_order_by check for scatter plot
* Fix categorical_order_by check for _construct_source
* Refactor category sorting in _construct_source
* Add tests for categorical_order_by
* Fix scatter plot tests that used line plots
4.0.1 (2023-03-24)
------------------
* Updated version requirement of pillow to avoid bug
4.0.0 (2023-03-23)
------------------
* Dropped support for python 3.6 and 3.7
3.1.0 (2023-03-22)
------------------
* Added Boxplot Chart including example in examples notebook
3.0.5 (2022-12-13)
------------------
* Fixed a few errors in example and tutorial notebooks
* Fixed a typo in requirements.txt
3.0.4 (2022-10-18)
------------------
* Updated package requirements
* Got rid of future deprecation warnings
* Bugfix related to legend for graphs with multiple groups and colors
3.0.2 (2020-10-21)
------------------
* Support pyyaml 5.2+
3.0.1 (2020-06-02)
------------------
* Reduce dependencies by switching from Jupyter to IPython.
3.0.0 (2020-05-29)
------------------
* Updated Python to 3.6+ and Pandas to 1.0+ (Thanks @tomasaschan!)
* Updated Bokeh to 2.0+
* Removed colour dependency to fix setup errors.
2.7.0 (2019-11-27)
------------------
Bugfixes:
* Updated default yaml loader to move off of
deprecated method (Thanks @vh920!)
* Updated legend handling to adjust for deprecated methods
in recent versions of Bokeh (Thanks for reporting @jpkoc)
* Updated license in setup.py (Thanks for reporting @jsignell)
* Bump base Pillow dependency to avoid insecure version.
* Update MANIFEST to include missing files (Thanks @toddrme2178!)
2.6.1 (2019-08-15)
------------------
Bugfixes:
* Moved package requirements and fixed bug that occured with
latest version of Bokeh (Thanks @emschuch & @mollymzhu!)
* Fixed bug in README while generating docs (Thanks @Bharat123rox!)
2.6.0 (2019-03-08)
------------------
Improvements:
* Allows users to plot colors on bar charts that aren't contained in the
categorical axis.
Bugfixes:
* Fixed bug that caused float types to break when plotted with categorical
text plots (Thanks for finding @danela!)
* Fixed broken readme links.
2.5.0 (2019-02-17)
------------------
Improvements:
* Added Radar Chart
2.4.0 (2019-02-16)
------------------
Improvements:
* Added second Y axis plotting.
* Removed Bokeh loading notification on import (Thanks @canavandl!)
* Added support for custom Bokeh resource loading (Thanks @canavandl!)
* Added example for Chart.save() method (Thanks @david30907d!)
Bugfixes:
* Updated documentation for saving and showing svgs.
* Fixed bug that broke plots with no difference between min and max
points. (Thanks for finding @fabioconcina!)
2.3.5 (2018-11-21)
------------------
Improvements:
* Updated docstrings (Thanks @gregorybchris @ItsPugle!)
* Added SVG output options to Chart.show() and Chart.save()
(Thanks for the suggestion @jdmendoza!)
Bugfixes:
* Fixed bug that caused source label to overlap with xaxis labels.
* Fixed bug that prevented x axis orientation changes
with datetime axes (Thanks for finding @simonwongwong!)
* Fixed bug that caused subtitle to disappear
with `outside_top` legend location (Thanks for finding @simonwongwong!)
* Line segment callout properties will work
correctly. (Thanks @gregorybchris!)
2.3.4 (2018-11-13)
------------------
* Updated Bokeh version requirements to support 1.0
2.3.3 (2018-10-24)
------------------
* Removed upper bound of Pillow dependency.
2.3.2 (2018-10-18)
------------------
* Stacked bar and area order now matches default vertical legend order.
* Added method for shifting color palettes.
* Added scatter plots with a single categorical axis.
* Fixed bug with text_stacked that occurred with multiple categorical levels.
2.3.1 (2018-09-27)
------------------
* Fix scatter plot bug that can occur due to nested data types.
2.3.0 (2018-09-26)
------------------
* Added hexbin plot type.
* More control over grouped axis label orientation.
* Added alpha control to scatter, line, and parallel plots.
* Added control over marker style to scatter plot.
* Added ability to create custom color palettes.
* Changed default accent color.
* Visual tweaks to lollipop plot.
* Bar plots with a few number of series will have better widths.
2.2.0 (2018-09-17)
------------------
* First release on PyPI.
Raw data
{
"_id": null,
"home_page": "https://github.com/spotify/chartify",
"name": "chartify",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.9",
"maintainer_email": null,
"keywords": "chartify",
"author": null,
"author_email": "chalpert@spotify.com",
"download_url": "https://files.pythonhosted.org/packages/37/91/74cc94dea3308e773ede17c569037c82ba253045b0b57e32d3d5c563abc2/chartify-5.0.0.tar.gz",
"platform": null,
"description": "Chartify\n========\n\n![Status](https://img.shields.io/badge/Status-Beta-blue.svg)\n![Latest release](https://img.shields.io/badge/Release-5.0.0-blue.svg \"Latest release: 5.0.0\")\n![python](https://img.shields.io/badge/Python-3.9-blue.svg \"Python 3.9\")\n![python](https://img.shields.io/badge/Python-3.10-blue.svg \"Python 3.10\")\n![python](https://img.shields.io/badge/Python-3.11-blue.svg \"Python 3.11\")\n![CI](https://github.com/spotify/chartify/workflows/Tox/badge.svg \"Tox\")\n\nChartify is a Python library that makes it easy for data scientists to create charts.\n\nWhy use Chartify?\n-----------------\n\n- Consistent input data format: Spend less time transforming data to get your charts to work. All plotting functions use a consistent tidy input data format.\n- Smart default styles: Create pretty charts with very little customization required.\n- Simple API: We've attempted to make the API as intuitive and easy to learn as possible.\n- Flexibility: Chartify is built on top of [Bokeh](http://bokeh.pydata.org/en/latest/), so if you do need more control you can always fall back on Bokeh's API.\n\nExamples\n--------\n\n![](https://raw.githubusercontent.com/spotify/chartify/master/docs/_static/chartify1.png)\n![](https://raw.githubusercontent.com/spotify/chartify/master/docs/_static/chartify2.png)\n![](https://raw.githubusercontent.com/spotify/chartify/master/docs/_static/chartify3.png)\n![](https://raw.githubusercontent.com/spotify/chartify/master/docs/_static/chartify4.png)\n![](https://raw.githubusercontent.com/spotify/chartify/master/docs/_static/chartify5.png)\n![](https://raw.githubusercontent.com/spotify/chartify/master/docs/_static/chartify6.png)\n\n[See this notebook for more examples!](</examples/Examples.ipynb>).\n\nInstallation\n------------\n\n1. Chartify can be installed via pip:\n\n`pip3 install chartify`\n\n2. Install chromedriver requirement (Optional. Needed for PNG output):\n - Install google chrome.\n - Download the appropriate version of chromedriver for your OS [here](https://sites.google.com/chromium.org/driver/).\n - Copy the executable file to a directory within your PATH.\n\t- View directorys in your PATH variable: `echo $PATH`\n\t- Copy chromedriver to the appropriate directory, e.g.: `cp chromedriver /usr/local/bin`\n\nGetting started\n---------------\n\nThis [tutorial notebook](https://github.com/spotify/chartify/blob/master/examples/Chartify%20Tutorial.ipynb) is the best place to get started with a guided tour of the core concepts of Chartify.\n\nFrom there, check out the [example notebook](https://github.com/spotify/chartify/blob/master/examples/Examples.ipynb) for a list of all the available plots.\n\nDocs\n---------------\n\nDocumentation available on [chartify.readthedocs.io](https://chartify.readthedocs.io/en/latest/).\n\nGetting support\n---------------\n\nUse the [chartify tag on StackOverflow](https://stackoverflow.com/questions/tagged/chartify).\n\nCode of Conduct\n---------------\n\nThis project adheres to the [Open Code of Conduct](https://github.com/spotify/code-of-conduct/blob/master/code-of-conduct.md). By participating, you are expected to honor this code.\n\nContributing\n------------\n\n[See the contributing docs](https://github.com/spotify/chartify/blob/master/CONTRIBUTING.rst).\n\n\n=======\nHistory\n=======\n5.0.0 (2024-10-16)\n\n* Drop support for Python 3.8\n* Add support for Python 3.11\n* Fixes bad cropping in png introduced by changes to chrome webdriver\n* Add support and recommendation to use make black for code formatting\n\n4.0.5 (2023-10-12)\n------------------\n\n* Relaxed scipy and pandas version requirements to allow verions 2.x\n\n4.0.4 (2023-08-23)\n------------------\n\n* Documentation build fix\n* Pin tornado requirement to reduce vulnerability\n\n4.0.3 (2023-04-21)\n------------------\n\n* Require jupyter_bokeh to enable html output\n\n4.0.2 (2023-03-30)\n------------------\n\n* Fix categorical_order_by check for scatter plot\n* Fix categorical_order_by check for _construct_source\n* Refactor category sorting in _construct_source\n* Add tests for categorical_order_by\n* Fix scatter plot tests that used line plots\n\n4.0.1 (2023-03-24)\n------------------\n\n* Updated version requirement of pillow to avoid bug\n\n4.0.0 (2023-03-23)\n------------------\n\n* Dropped support for python 3.6 and 3.7\n\n3.1.0 (2023-03-22)\n------------------\n\n* Added Boxplot Chart including example in examples notebook\n\n3.0.5 (2022-12-13)\n------------------\n\n* Fixed a few errors in example and tutorial notebooks\n* Fixed a typo in requirements.txt\n\n3.0.4 (2022-10-18)\n------------------\n\n* Updated package requirements\n* Got rid of future deprecation warnings\n* Bugfix related to legend for graphs with multiple groups and colors\n\n3.0.2 (2020-10-21)\n------------------\n\n* Support pyyaml 5.2+\n\n3.0.1 (2020-06-02)\n------------------\n\n* Reduce dependencies by switching from Jupyter to IPython.\n\n3.0.0 (2020-05-29)\n------------------\n\n* Updated Python to 3.6+ and Pandas to 1.0+ (Thanks @tomasaschan!)\n* Updated Bokeh to 2.0+\n* Removed colour dependency to fix setup errors.\n\n2.7.0 (2019-11-27)\n------------------\n\nBugfixes:\n\n* Updated default yaml loader to move off of\n deprecated method (Thanks @vh920!)\n* Updated legend handling to adjust for deprecated methods\n in recent versions of Bokeh (Thanks for reporting @jpkoc)\n* Updated license in setup.py (Thanks for reporting @jsignell)\n* Bump base Pillow dependency to avoid insecure version.\n* Update MANIFEST to include missing files (Thanks @toddrme2178!)\n\n2.6.1 (2019-08-15)\n------------------\n\nBugfixes:\n\n* Moved package requirements and fixed bug that occured with\n latest version of Bokeh (Thanks @emschuch & @mollymzhu!)\n* Fixed bug in README while generating docs (Thanks @Bharat123rox!)\n\n2.6.0 (2019-03-08)\n------------------\n\nImprovements:\n\n* Allows users to plot colors on bar charts that aren't contained in the\n categorical axis.\n\n\nBugfixes:\n\n* Fixed bug that caused float types to break when plotted with categorical\n text plots (Thanks for finding @danela!)\n* Fixed broken readme links.\n\n2.5.0 (2019-02-17)\n------------------\n\nImprovements:\n\n* Added Radar Chart\n\n2.4.0 (2019-02-16)\n------------------\n\nImprovements:\n\n* Added second Y axis plotting.\n* Removed Bokeh loading notification on import (Thanks @canavandl!)\n* Added support for custom Bokeh resource loading (Thanks @canavandl!)\n* Added example for Chart.save() method (Thanks @david30907d!)\n\nBugfixes:\n\n* Updated documentation for saving and showing svgs.\n* Fixed bug that broke plots with no difference between min and max\n points. (Thanks for finding @fabioconcina!)\n\n2.3.5 (2018-11-21)\n------------------\n\nImprovements:\n\n* Updated docstrings (Thanks @gregorybchris @ItsPugle!)\n* Added SVG output options to Chart.show() and Chart.save()\n (Thanks for the suggestion @jdmendoza!)\n\nBugfixes:\n\n* Fixed bug that caused source label to overlap with xaxis labels.\n* Fixed bug that prevented x axis orientation changes\n with datetime axes (Thanks for finding @simonwongwong!)\n* Fixed bug that caused subtitle to disappear\n with `outside_top` legend location (Thanks for finding @simonwongwong!)\n* Line segment callout properties will work\n correctly. (Thanks @gregorybchris!)\n\n2.3.4 (2018-11-13)\n------------------\n\n* Updated Bokeh version requirements to support 1.0\n\n2.3.3 (2018-10-24)\n------------------\n\n* Removed upper bound of Pillow dependency.\n\n2.3.2 (2018-10-18)\n------------------\n\n* Stacked bar and area order now matches default vertical legend order.\n* Added method for shifting color palettes.\n* Added scatter plots with a single categorical axis.\n* Fixed bug with text_stacked that occurred with multiple categorical levels.\n\n2.3.1 (2018-09-27)\n------------------\n\n* Fix scatter plot bug that can occur due to nested data types.\n\n2.3.0 (2018-09-26)\n------------------\n\n* Added hexbin plot type.\n* More control over grouped axis label orientation.\n* Added alpha control to scatter, line, and parallel plots.\n* Added control over marker style to scatter plot.\n* Added ability to create custom color palettes.\n* Changed default accent color.\n* Visual tweaks to lollipop plot.\n* Bar plots with a few number of series will have better widths.\n\n\n2.2.0 (2018-09-17)\n------------------\n\n* First release on PyPI.\n",
"bugtrack_url": null,
"license": "Apache 2",
"summary": "Python library to make plotting simpler for data scientists",
"version": "5.0.0",
"project_urls": {
"Homepage": "https://github.com/spotify/chartify"
},
"split_keywords": [
"chartify"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fbf0196fabd4b56a6ed5fe62f7ef160f8006c6a9a60d1839eb363e5d166d0840",
"md5": "5931e36daa1e4a33a310f953c9baca2d",
"sha256": "f7ccd24932853e3b9a06469d36fb10246eb97afa584d43874c37f410352c4017"
},
"downloads": -1,
"filename": "chartify-5.0.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "5931e36daa1e4a33a310f953c9baca2d",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": "<4,>=3.9",
"size": 64006,
"upload_time": "2024-10-16T11:59:15",
"upload_time_iso_8601": "2024-10-16T11:59:15.872554Z",
"url": "https://files.pythonhosted.org/packages/fb/f0/196fabd4b56a6ed5fe62f7ef160f8006c6a9a60d1839eb363e5d166d0840/chartify-5.0.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "379174cc94dea3308e773ede17c569037c82ba253045b0b57e32d3d5c563abc2",
"md5": "5395fed7b28e3e954f974bfe3cefa633",
"sha256": "4d6302012a47c57c4fbbd00c2abb6b263f87b5ba38820ab88a7564304177a9d1"
},
"downloads": -1,
"filename": "chartify-5.0.0.tar.gz",
"has_sig": false,
"md5_digest": "5395fed7b28e3e954f974bfe3cefa633",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.9",
"size": 4152591,
"upload_time": "2024-10-16T11:59:17",
"upload_time_iso_8601": "2024-10-16T11:59:17.836861Z",
"url": "https://files.pythonhosted.org/packages/37/91/74cc94dea3308e773ede17c569037c82ba253045b0b57e32d3d5c563abc2/chartify-5.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-16 11:59:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "spotify",
"github_project": "chartify",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "chartify"
}