Skip to main content

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

  • [ ] document how to extend
  • [ ] better support for jupyter notebook
  • [ ] add new plot types
  • [ ] 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 hashes
Filename, size develocorder-0.4.0.tar.gz (5.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page