Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

Simple live value plotter using Matplotlib

Project description

Develocorder

Pytest badge

Develocorder is a simple live value plotter for Python3 using Matplotlib. It is intended to give insights into the training of machine learning models / reinforcement learning agents with only minimal effort to add to existing code.

Original Develocorder

(image source)

Installation

$ pip install develocorder

Simple Example

# initialize once
set_recorder(my_value=LinePlot())

# add values to plot from anywhere in code
for _ in range(10):
    record(my_value=random())

See examples/simple.py

Result

Simple Example

Fancy Example

Some more features:

# axis labels
set_recorder(labeled=LinePlot(xlabel="Episode", ylabel="Score"))

# additional filtered values (window filter)
set_recorder(filtered=FilteredLinePlot(filter_size=50))

# maximum history length
set_recorder(detail=LinePlot(max_length=50))

# downsampled values (record mean of every filter_size values)
set_recorder(downsampled=DownsampledLinePlot(filter_size=5))

# multiple curves for recording 1d-array values
set_recorder(multiple=FilteredLinePlot(filter_size=50))

# heatmap for recording 1d-array values
set_recorder(heatmap=Heatmap())

# minimum update period (limit update rate for better performance)
set_update_period(0.5)  # [seconds]

# set number of columns
set_num_columns(2)

See examples/fancy.py

Fancy Example

Jupyter notebook

For use in a Jupyter notebook use the %matplotlib notebook backend. As of now you cannot rerun the cell which is showing the plot without restarting the notebook, otherwise the plot will disappear.

See examples/simple.ipynb

TODOs

  • <input type="checkbox" disabled="" /> document how to extend
    • <input type="checkbox" disabled="" /> better support for jupyter notebook
    • <input type="checkbox" disabled="" /> add new plot types
    • <input type="checkbox" disabled="" /> persistent storage/loading of log

Project details


Download files

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

Files for develocorder, version 0.4.0
Filename, size File type Python version Upload date Hashes
Filename, size develocorder-0.4.0-py3-none-any.whl (7.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size develocorder-0.4.0.tar.gz (5.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page