show_path.py 856 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # Read a CSV path specification and plot the data
  2. import matplotlib.pyplot as plt
  3. # Read and parse the file
  4. filename = input('Enter a file: ')
  5. x = []
  6. y = []
  7. with open(filename, 'r') as file:
  8. for line in file:
  9. try:
  10. pos = [float(l.strip()) for l in line.split(',')]
  11. except Exception as e:
  12. continue
  13. x.append(pos[0])
  14. y.append(pos[1])
  15. # Set the axis ranges
  16. padding = 0.5
  17. xmin = min(x)
  18. ymin = min(y)
  19. xmax = max(x)
  20. ymax = max(y)
  21. xrange = abs(xmax - xmin)
  22. yrange = abs(ymax - ymin)
  23. if xrange > yrange:
  24. yoff = (xrange - yrange) / 2
  25. ymin -= yoff
  26. ymax += yoff
  27. elif yrange > xrange:
  28. xoff = (yrange - xrange) / 2
  29. xmin -= xoff
  30. xmax += xoff
  31. xmin -= padding
  32. ymin -= padding
  33. xmax += padding
  34. ymax += padding
  35. # Plot the path
  36. plt.plot(x, y)
  37. plt.axis([xmin, xmax, ymin, ymax])
  38. plt.show()