我将一些数据(例如温度,湿度和强度)存储在数组中,这是我的python2.7的arduino输出和输入,并且正在从该数据中绘制图形。 我也想将arduino输出存储到文本文件中,但是由于我是python的新手,所以我无法做到这一点。
这是我的python代码
import serial
import numpy as np
import matplotlib.pyplot as plt
from drawnow import *
l=[]
t = []
h = []
arduinoData = serial.Serial('com3',115200)
plt.ion()
count=0
def makeFig():
ax1 = plt.subplot(211)
plt.ylim(0,100)
plt.title('Temperature and Humidity')
plt.grid(True)
plt.ylabel('temp in C')
plt.plot(t, 'ro-', label='Drgrees Celsius')
plt.legend(loc='upper left')
plt2=plt.twinx()
plt.ylim(0,100)
plt2.plot(h,'b^-',label='Humidity in %')
plt2.legend(loc='upper right')
ax2 = plt.subplot(212, sharex=ax1)
plt.ylim(0,100)
plt.grid(True)
plt.ylabel('Intensity in Lux')
plt.plot(l, 'ro-', label='Lux')
plt.legend(loc='upper left')
while True:
while (arduinoData.inWaiting()==0):
pass
arduinoString = arduinoData.readline()
dataArray = arduinoString.split(',')
lux = float (dataArray[0] )
humd = float ( dataArray[1])
temp = float ( dataArray[2])
t.append(temp)
h.append(humd)
l.append(lux)
drawnow(makeFig)
plt.pause(.000001)
count=count+1
if(count>60):
t.pop(0)
h.pop(0)
l.pop(0)
我想将t,h,l存储在文本文件中作为输出 帮助将不胜感激。...
答案 0 :(得分:1)
只需使用以下命令即可打开文件:
f = open('file.txt', 'w')
,然后您可以使用:
f.write("Value of t : {}".format(t))
最后使用
关闭文件f.close()
答案 1 :(得分:0)
按打印,您的意思是输出到文本文件吗?如果是这样,您可以添加:
np.savetxt('filename.txt', np.r_[t,h,l])
[filename.txt可以是您希望文本文件成为的任何名称,除非您有一个]
np.r将连接矩阵。我不确定这是否是您要执行的操作,但这是一个选择