mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-24 11:11:02 -07:00
46 lines
896 B
Python
46 lines
896 B
Python
import numpy
|
|
import matplotlib.pyplot as plt
|
|
import matplotlib.animation as animation
|
|
|
|
TICK_FREQUENCY = 12e6
|
|
TICKS_PER_US = TICK_FREQUENCY / 1e6
|
|
print(TICKS_PER_US)
|
|
|
|
# Load data.
|
|
data = numpy.loadtxt(open("driveresponse.csv", "rb"), delimiter=",", skiprows=1)
|
|
|
|
labels = data[:, 0]
|
|
frequencies = data[:, 1:]
|
|
|
|
|
|
# Scale the frequencies.
|
|
def scaled(row):
|
|
m = row.mean()
|
|
if m != 0:
|
|
return row / m
|
|
else:
|
|
return row
|
|
|
|
|
|
scaledfreq = numpy.array([scaled(row) for row in frequencies])
|
|
|
|
# Create new Figure with black background
|
|
fig = plt.figure(figsize=(8, 8), facecolor="#aaa")
|
|
|
|
plt.imshow(
|
|
scaledfreq,
|
|
extent=[0, 512 / TICKS_PER_US, labels[0], labels[-1]],
|
|
cmap="jet",
|
|
vmin=0,
|
|
vmax=1,
|
|
origin="lower",
|
|
aspect="auto",
|
|
)
|
|
plt.colorbar()
|
|
plt.ylabel("Interval period (us)")
|
|
plt.xlabel("Response (us)")
|
|
plt.grid(True, dashes=(2, 2))
|
|
plt.show()
|
|
|
|
plt.show()
|