Skip to main content

Great things come in tiny packages. A bare minimum extension library for creating tree dot plots, strip plots or dot charts w/ matplotlib or seaborn in Python

  • Designed to work with matplotlib and seaborn in Python
  • Fully customizable

installation

pip install dotplotlib

usage

dotplotlib can be used to generate dot charts with minimal code. Here are some examples:


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)



preset themes

custom:lavender

cmap

Any cmap value supported by matplotlib (see here) will work when passed into theme='viridis'.

viridis:

gnuplot:

gallery:


features

  • 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

attribution

Metadata

Release files for dotplotlib 1.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dotplotlib 1.1.8
File Size Uploaded
dotplotlib-1.1.8.tar.gz 5.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dotplotlib 1.1.8
File Interpreter ABI Platform
dotplotlib-1.1.8-py3-none-any.whl Python 3 none any Details

Total release size: 12.2 kB

Release files / dotplotlib-1.1.8.tar.gz

Download URL dotplotlib-1.1.8.tar.gz
Size 5.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b37bbf43b6014852ceab32fef42c7b2536c5376e7b601bc14e302798d3d6a0eb
BLAKE2b-256 checksum
How to use checksums
3d6028201baae294627afb4f422cfc07bfd0dc9642c994f09ee811a1df694d1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / dotplotlib-1.1.8-py3-none-any.whl

Download URL dotplotlib-1.1.8-py3-none-any.whl
Size 6.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2899abca826258672694bb069e1533c0aa636809baefef565eb4991f4bed8483
BLAKE2b-256 checksum
How to use checksums
d9b2ff506f0127d43147c49a726c0177195b02dbac8fd1ca1b3d57fdf3e4fc40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release history Release notifications | RSS feed

This release

1.1.8 This release

2 release files

1.1.7

2 release files

1.1.6

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page