Skip to content

A basic extension library for creating tree dot plots, strip plots or dot charts w/ matplotlib or seaborn in Python

License

Notifications You must be signed in to change notification settings

jl33-ai/dotplotlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotplotlib

Contributors Forks Stargazers Issues Unlicense License

A matplotlib extension library for making tree dot plots, strip plots or dot charts in Python (seaborn compatible)

Installation

pip install dotplotlib 

Usage

Example 1: Simple Dot Chart

.dotchart returns x and y lists that can be inputted straight into matplotlib or seaborn scatterplots.

from dotplotlib import dotchart import matplotlib.pyplot as plt data = {'size': [1, 2, 2, 3, 3, 3, 4]} # Generate dot chart data x, y = dotchart(data['size']) # Plot plt.scatter(x, y) plt.show()
Example 2: Dot Chart with Color Mapping

Pass the data you would like to color by to the color_by= argument.

Returns an extra list c that should be passed into the c= parameter if using matplotlib or hue= if using seaborn.

from dotplotlib import dotchart import matplotlib.pyplot as plt data = {'size': [1, 2, 2, 3, 3, 3, 4], 'rating': [3, 2, 5, 4, 3, 6, 4]} # Generate dot chart data with color mapping x, y, c = dotchart(data['size'], color_by=data['rating']) # Plot with color mapping plt.scatter(x, y, c=c, cmap='viridis') plt.colorbar() plt.xlabel('Size') plt.ylabel('Number') plt.title('Mushroom Size Count Colored by Rating') plt.show()
Example 3: Using make_dotchart to plot in one step

Instead of just giving you x, y lists to make the plot yourself, make_dotplot() actually generates the plot.

from dotplotlib import make_dotchart df = {'size': [1, 2, 2, 3, 3, 3, 4], 'rating': [3, 2, 5, 4, 3, 6, 7]} # Create a dot chart with optional arguments (only the first one is mandatory) make_dotchart(df['size'], color_by=df['rating'], # list to color by reverse=False, # inverts the color mapping theme='gnuplot2', # scroll down to see all themes colorbar=True, xlabel='Sizes', ylabel='Size Count', title='Mushroom Sizes Colored by Rating', dot_size=40):
Example 4: Plotting in a Jupyter Notebook

If plotting inline, use the default .dotchart() to obtain x and y lists, and then adjust as necessary with one of the following:

plt.figure(figsize=(12,6)) # or plt.figure().set_figwidth(12) # or plt.figure().set_figheight(12)



Themes

Feature set

  • Generate strip plots/dot charts by exploiting matplotlib/seaborn scatterplots
  • Supports any cmap color profile
  • The data can be automatically sorted for better visualization, especially when using color mapping.
  • Accepts both list and pandas.Series as input data.
  • Set custom labels, titles, and dot sizes for your charts.
  • Works with Jupyter Notebook

Contributing

Anyone is welcome to raise a PR!

About

A basic extension library for creating tree dot plots, strip plots or dot charts w/ matplotlib or seaborn in Python

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages