Skip to main content

Command-line utility to quickly plot files in a Jupyter notebook

Project description

nbplot

Command-line utility to quickly plot files in a Jupyter notebook.

Tools like pandas+matplotlib are very powerful, but it takes some time to plot a file from scratch: run a Jupyter notebook instance, create a notebook, import the modules, go grab the path of the file, remember how to call read_csv properly, create the matplotlib figure, etc. The goal of nbplot is to remove that friction and make this as easy as launching a dedicated tool like gnuplot.

Installation

python3 -mpip install nbplot

Features

  • Can be fully configured via templates. A template is just a notebook with some special variables that will get replaced.

  • Ships with a default template for numpy+matplotlib and one for pandas+matplotlib.

  • Can guess the column delimiter of text files.

  • Data can be directly read from stdin, and the string will be embedded in the generated notebook.

  • Will try to reuse an existing instance of notebook server (inspired by nbopen).

Examples

$ cat mydata.txt
1 1
2 4
3 9
4 16

$ nbplot mydata.txt
  • Generates a notebook ~/nbplot/{{date}}-mydata.ipynb with the code to load mydata.txt with pandas.read_csv and the guessed space delimiter.

  • Opens the notebook in the browser, reusing existing instances of Jupyter if possible, starting a new one otherwise.

Generated plot cell in the notebook


$ nbplot -t numpy mydata.txt
  • Generates the notebook with the numpy template, using numpy.genfromtxt to load the file.

$ nbplot mydata1.txt mydata2.txt [...]
  • Generates a notebook that loads all the input files in the same plot.

$ for i in `seq -10 10`; do echo $i $((i*i)); done | nbplot -
  • Reads the data to plot from stdin and generates a notebook to plot it, with the data embedded as a string.

Creating a custom template

Templates are just regular .ipynb notebooks, with special variables like the filenames to plot that will get replaced when generating the output notebook.

The easiest way to create a custom template is to copy and adapt an existing one from the templates/ folder of the repository, and put it in your ~/.nbplot/ folder, next to the configuration file. The name of the template is defined in metadata dictionary defined in the special cell that stars with a # [[nbplot]] template line.

Configuring the default behavior

When first launched, nbplot generates a configuration file in ~/.nbplot/config.ipynb. It is also a notebook, and the config dictionary will be read after evaluating the cell. The main options are the default template, the folder from which to start the notebook instance, and the folder where the generated plots will be saved.

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

nbplot-0.1.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

nbplot-0.1-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file nbplot-0.1.tar.gz.

File metadata

  • Download URL: nbplot-0.1.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.6

File hashes

Hashes for nbplot-0.1.tar.gz
Algorithm Hash digest
SHA256 7fe44e34018e6e3f178d0a719c211047b634e8a2db72d21fcbd880eaceca0eb1
MD5 b627b553672856e87d2241fdf9bce386
BLAKE2b-256 364a5684210f792aa4703fb979c0c533da8b314e8efd924a4c52053e702b4a73

See more details on using hashes here.

File details

Details for the file nbplot-0.1-py3-none-any.whl.

File metadata

  • Download URL: nbplot-0.1-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.6

File hashes

Hashes for nbplot-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 64af751fb742b9f1163b40d5043f1bcc38a5970470f957b558b90452041f5ce0
MD5 3d2e226ed54c6fa4898270ff48d636fb
BLAKE2b-256 0796e71ac21adda0ae5e50fdfb179be454f832388c4eed5b6c57dcbae96acb6f

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