Parse arguments for filename, add params to plot/axis titles, add grids
This commit is contained in:
@@ -6,19 +6,24 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib as mpl
|
import matplotlib as mpl
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
|
import argparse
|
||||||
|
|
||||||
def make_delta(q):
|
def make_delta(q):
|
||||||
delta_q = np.arange(len(q), dtype=np.float)
|
delta_q = np.zeros(len(q))
|
||||||
delta_q[0] = 0.0
|
delta_q[0] = 0.0
|
||||||
for i in range(1, len(q)):
|
for i in range(1, len(q)):
|
||||||
delta_q[i] = q[i] - q[i - 1]
|
delta_q[i] = q[i] - q[i - 1]
|
||||||
return delta_q
|
return delta_q
|
||||||
|
|
||||||
if False:
|
parser = argparse.ArgumentParser()
|
||||||
data = np.genfromtxt("s2_tracking.csv", delimiter=",", skip_header=1,
|
parser.add_argument("csv_file", help="TrackingFile.csv", nargs="?")
|
||||||
names=['time', 'position', 'steps', 'counts'])
|
args = parser.parse_args()
|
||||||
|
if args.csv_file:
|
||||||
|
csv_file = args.csv_file
|
||||||
else:
|
else:
|
||||||
data = np.loadtxt("s2_tracking.csv", delimiter=",", skiprows=1, unpack=True)
|
csv_file = "s2_tracking.csv"
|
||||||
|
|
||||||
|
data = np.loadtxt(csv_file, delimiter=",", skiprows=1, unpack=True)
|
||||||
|
|
||||||
t, p, s, c = data
|
t, p, s, c = data
|
||||||
|
|
||||||
@@ -36,11 +41,14 @@ delta_c = make_delta(c)
|
|||||||
fig = plt.figure()
|
fig = plt.figure()
|
||||||
ax1 = fig.add_subplot(111)
|
ax1 = fig.add_subplot(111)
|
||||||
|
|
||||||
ax1.set_title("Motion Tracking")
|
ax1.set_title("Motion Tracking (" + csv_file + ")")
|
||||||
ax1.set_xlabel('position')
|
ax1.set_xlabel("position (%.3f to %.3f)" % (p[0], p[-1]))
|
||||||
ax1.set_ylabel('Steps/Count')
|
ax1.set_ylabel("Steps/Count")
|
||||||
|
|
||||||
delta_spc = np.arange(len(t), dtype=np.float)
|
steps_per_count = ((s[-1] - s[0]) / (c[-1] - c[0]))
|
||||||
|
print "StepsPerCount: %.6f" % steps_per_count
|
||||||
|
|
||||||
|
delta_spc = np.zeros(len(t))
|
||||||
for i in range(len(delta_spc)):
|
for i in range(len(delta_spc)):
|
||||||
if delta_c[i] == 0:
|
if delta_c[i] == 0:
|
||||||
delta_spc[i] = 0
|
delta_spc[i] = 0
|
||||||
@@ -52,9 +60,10 @@ if False:
|
|||||||
for i in range(len(t)):
|
for i in range(len(t)):
|
||||||
print "%4d: %18.6f %18.6f %18.6f %18.6f %18.6f" % (i, t[i], delta_t[i], delta_s[i], delta_c[i], delta_spc[i])
|
print "%4d: %18.6f %18.6f %18.6f %18.6f %18.6f" % (i, t[i], delta_t[i], delta_s[i], delta_c[i], delta_spc[i])
|
||||||
|
|
||||||
ax1.plot(p, delta_spc, c='r', label='delta steps per count')
|
ax1.plot(p, delta_spc - steps_per_count, c='r', label='delta steps per count')
|
||||||
ax1.plot(p, c / s / 70, c='b', label='counts / steps')
|
ax1.plot(p, (s - s[0])/(c - c[0]) - steps_per_count, c='b', label='steps / counts')
|
||||||
|
ax1.get_xaxis().grid(True, 'both')
|
||||||
|
ax1.get_yaxis().grid(True, 'both')
|
||||||
leg = ax1.legend()
|
leg = ax1.legend()
|
||||||
|
|
||||||
plt.show()
|
plt.show()
|
||||||
|
|||||||
Reference in New Issue
Block a user