Skip to main content

Python library to make plotting simpler for data scientists

Project description

![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

  1. 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chartify-5.0.0.tar.gz (4.2 MB view details)

Uploaded Source

Built Distribution

chartify-5.0.0-py2.py3-none-any.whl (64.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file chartify-5.0.0.tar.gz.

File metadata

  • Download URL: chartify-5.0.0.tar.gz
  • Upload date:
  • Size: 4.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for chartify-5.0.0.tar.gz
Algorithm Hash digest
SHA256 4d6302012a47c57c4fbbd00c2abb6b263f87b5ba38820ab88a7564304177a9d1
MD5 5395fed7b28e3e954f974bfe3cefa633
BLAKE2b-256 379174cc94dea3308e773ede17c569037c82ba253045b0b57e32d3d5c563abc2

See more details on using hashes here.

File details

Details for the file chartify-5.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: chartify-5.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 64.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for chartify-5.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f7ccd24932853e3b9a06469d36fb10246eb97afa584d43874c37f410352c4017
MD5 5931e36daa1e4a33a310f953c9baca2d
BLAKE2b-256 fbf0196fabd4b56a6ed5fe62f7ef160f8006c6a9a60d1839eb363e5d166d0840

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page