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.0.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: matplot-fmt-pi-1.3.0.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.0.tar.gz
Algorithm Hash digest
SHA256 5124a955b4a55e873955266ef8f7f3af3f64f766f6a7742a30263313fb72282e
MD5 61118fdeaee7f4a76e86e85858e72368
BLAKE2b-256 5fdbf0b0a91c2614119929c1b7b5d85102649f8b841af5813910c5d1436f0917

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matplot_fmt_pi-1.3.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce2df8547cc950c9c4f0ffcc56e4f38bb080eb6b11df4fe5103bbc1879a7752b
MD5 a1966bc8857f92742c3afa002109e486
BLAKE2b-256 632996cb3f966ad4cf14fea5045cab7852850e8029f4bb8433660e7f01d97a45

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