matplotlib轴值

jtw3ybtb  于 2021-07-13  发布在  Java
关注(0)|答案(2)|浏览(267)

所以就上下文而言。我建立了一个小的基于arduino的气象站,并想绘制我的数据进行一些分析。我将度量值存储在一个.json文件中,并希望用这些值绘制图表。

def getVal():
   data = db.all()

   tempData = []
   voltData = []
   time = []

   for i in range(len(data)-1):
      tempData.append(data[i]['temperature'])
      voltData.append(data[i]['volt'])
      time.append(i)

   print(voltData)
   print(tempData)

   plt.plot(time, tempData, 'b-')
   plt.plot(time, voltData, 'r-')
   plt.show()

以下是voltdata和tempdata的值

['3.94', '3.38', '3.85', '3.89', '3.84', '3.95', '3.85', '3.85', '3.89', '3.77', '3.84', '3.68', '3.84', '3.85', '3.83', '3.30', '3.95', '3.91', '3.85', '3.87', '3.82', '3.82', '3.87', '3.91']
['15.30', '14.90', '14.90', '15.10', '15.00', '15.10', '15.00', '15.10', '14.80', '14.60', '14.70', '14.70', '14.50', '14.40', '14.20', '14.10', '13.90', '13.60', '13.20', '12.60', '12.10', '11.80', '11.50', '11.20']

现在我不知道出了什么问题,但这是我的输出。谢谢你的帮助

e3bfsja2

e3bfsja21#

看起来您的数据存储为 string . 你应该把它们转换成 float .
另外,它还可以帮助您设置x轴和y轴编号之间的间距。你可以在文档中查看如何做。

7y4bm7vi

7y4bm7vi2#

更改下面代码的循环可以解决以字符串形式存储数据的问题。

for i in range(len(data)-1):
  tempData.append(float(data[i]['temperature']))
  voltData.append(float(data[i]['volt']))
  time.append(i)

但是把这两个变量绘在一起可能看起来很奇怪,因为它们的尺度不同(tempdata介于3.3和3.95之间,voltdata介于11.2和15.3之间)。这样做可以创建对单个数据变化不敏感的图形。

相关问题