1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
"""
===================================================
SI prefixed offsets and natural order of magnitudes
===================================================
`matplotlib.ticker.EngFormatter` is capable of computing a natural
offset for your axis data, and presenting it with a standard SI prefix
automatically calculated.
Below is an examples of such a plot:
"""
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.ticker as mticker
# Fixing random state for reproducibility
np.random.seed(19680801)
UNIT = "Hz"
fig, ax = plt.subplots()
ax.yaxis.set_major_formatter(mticker.EngFormatter(
useOffset=True,
unit=UNIT
))
size = 100
measurement = np.full(size, 1e9)
noise = np.random.uniform(low=-2e3, high=2e3, size=size)
ax.plot(measurement + noise)
plt.show()
|