python - 加速度计数据写入文件,然后绘制 Matplotlib 图形(3 个子图 [x, y, z])

标签 python matplotlib accelerometer

我不太精通编程,所以请耐心等待。编程项目作为一种爱好(我是物理专业的)。无论如何,尝试接收串行数据,然后使用来自 Arduino Uno 的 matplotlib 使用 ADXL345 Breakout Trip-Axis Accelerometer 进行绘图。我目前不需要它是动态的(实时反馈)。这是我将串行数据写入文件的代码,性能良好。

import serial

filepath = 'C:/Users/Josh/Documents/Programming/'
outfilename =filepath + 'data.txt'
outfile = open(outfilename,"w")

numpoints = 1000
ser = serial.Serial('COM4',9600)
for i in range(numpoints):
    inString=ser.readline()
    print inString
    outfile.write(inString)

ser.close()
outfile.close()

这创建了一个相当易于访问的文本文件,我想将其转换为包含每个轴(x、y、z)的三个子图的 matplotlib 图形。我从 python 得到一个 File IO errno 2 ,说它找不到该文件(不存在),但它确实找到了,而且就我有限的知识而言,路径是正确的。非常感谢任何帮助。这是我糟糕的尝试的相关部分:

import numpy as npy
import matplotlib.pyplot as plt
global y0,y1,y2
increment_size = 8000
datasample_size = 16000

filepath = ("C:\Users\Josh\Documents\Programming\data.txt")
infile = filepath + 'data.txt'
infile = open("data.txt","r")
singleline = infile.readline()
asciidata = singleline.split()
asciidata[0]=asciidata[0][3:]  #strip three bytes of extraneous info
y0=[int(asciidata[0])]
y1=[int(asciidata[1])]
y2=[int(asciidata[2])]

最佳答案

您的文件路径是完整的文件路径,而不是目录。然后,您将添加 'data.txt' ,您需要将代码更改为:

filepath = 'C:\\Users\\Josh\\Documents\\Programming\\'
infile = filepath + 'data.txt'
infile = open(infile,"r")

在 python 中,'\' 用于转义字符,因此要拥有实际的 '\',您必须使用 '\\'。

或者,您可以(并且通常应该)使用 os.path.join将目录和文件连接在一起。在这种情况下,您的代码将变为:

from os.path import join

filepath = 'C:\\Users\\Josh\\Documents\\Programming'
infile = join(filepath, 'data.txt')
infile = open(infile,"r")

关于python - 加速度计数据写入文件,然后绘制 Matplotlib 图形(3 个子图 [x, y, z]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22488993/

相关文章:

Python CSV 查找平均花费时间

python - 调用函数与内联代码时的不同行为

python - 如何连接列表数据类型和 int32 数据类型?

python - 运行时错误: main thread is not in main loop using Matplotlib with Django

android - 如何知道我的手机上是否有加速度计?

python - Python 中引用间接的目的

python - 向 matplotlib 等高线图添加十字准线或标记

pandas - 如何更改 Pandas 数据帧图的 DPI?

android - android "linear acceleration"的准确性与加速度计的手动处理?

iphone - 关于 iPhone 加速计库有什么想法吗?