Skip to main content

Format numbers as multiples of Pi

Project description

Matplotlib Format Pi

Create locator and formatter instances for multiples of pi on the axes of a matplotlib graph.

The MultiplePi class provides methods to seamlessly tell matplotlib to format tick labels as multiples of pi.

In addition, the MultiplePi class allows a user to change the denominator of the base provided.

Multiples of π/2, 3, 4, ... can be represented if needed.

Examples

Simply, the instance can be asssigned a denominator of pi then passed to matplotlib.

import matplotlib.pyplot as plt
import numpy as np

from matplot_fmt_pi import MultiplePi

fig = plt.figure(figsize=(4*np.pi, 2.4))
axes = fig.add_subplot(111)
x = np.linspace(-2*np.pi, 2*np.pi, 512)
axes.plot(x, np.sin(x))

axes.grid(True)
axes.axhline(0, color='black', lw=2)
axes.axvline(0, color='black', lw=2)
axes.set_title("MultiplePi formatting")

pi_manager = MultiplePi(2)
axes.xaxis.set_major_locator(pi_manager.locator())
axes.xaxis.set_major_formatter(pi_manager.formatter())

plt.tight_layout()
plt.show()

The parameters can also be modified to adjust the output to something more sophisticated.

import matplotlib.pyplot as plt
import numpy as np

from matplot_fmt_pi import MultiplePi

fig = plt.figure()
axes = fig.add_subplot(111)
tau = np.pi*2
x = np.linspace(-tau/60, tau*8/60, 512)
axes.plot(x, np.exp(-x)*np.cos(60*x))

axes.grid(True)
axes.axhline(0, color='black', lw=2)
axes.axvline(0, color='black', lw=2)
axes.set_title("MultiplePi formatting")

major_pi_manager = MultiplePi(60, base=tau, symbol=r"\tau")
minor_pi_manager = MultiplePi(240, base=tau, symbol=r"\tau")

axes.xaxis.set_major_locator(major_pi_manager.locator())
axes.xaxis.set_major_formatter(major_pi_manager.formatter())
axes.xaxis.set_minor_locator(minor_pi_manager.locator())

plt.tight_layout()
plt.show()

Meta

Inspired by this post on StackOverflow.

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

matplot-fmt-pi-1.3.3.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

matplot_fmt_pi-1.3.3-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file matplot-fmt-pi-1.3.3.tar.gz.

File metadata

  • Download URL: matplot-fmt-pi-1.3.3.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for matplot-fmt-pi-1.3.3.tar.gz
Algorithm Hash digest
SHA256 1eb9d9b87272b54725c12ac09ed876fc21d8e1053de50490180bb188c6b24af1
MD5 d4b6a03f38414c858a778621dfe8dff4
BLAKE2b-256 9892446caed5d5d4bb440ccbd4452db5752ac8beee712dce8bcf4b26fd03135a

See more details on using hashes here.

File details

Details for the file matplot_fmt_pi-1.3.3-py3-none-any.whl.

File metadata

  • Download URL: matplot_fmt_pi-1.3.3-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

File hashes

Hashes for matplot_fmt_pi-1.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d38c8e68dcd0fd41082b941c8e610e4c353eacd0bc97f5147dd287ce71221aa9
MD5 00b369783fbc1d41dec0147c8b8a4845
BLAKE2b-256 9082cd6c5a4a50eddbd33166ed6e2fcf51c8bed2beb3e968a087e70ff92190c7

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