传感数据分析——数据读取与绘图(可视化)

传感数据分析——数据读取与绘图


前言

传感数据分析对于传感领域的研究者或者上班族是极其重要的事情。本文就传感数据分析中的数据读取绘制进行叙述。


提示:以下是本篇文章正文内容

一、运行环境

系统: Windows 10 / Ubuntu 20.04
编程语言: Python 3.8
文本编译器: Vscode
所需库:pandas >= 0.23.0, matplotlib >= 2.2.2

二、使用步骤

1.引入库

代码如下(示例):

import pandas as pd
import matplotlib.pyplot as plt

2.读入数据

代码如下(示例):

df = pd.read_excel("./dataset/dataset_test1.xlsx")
# #若数据未归一化,可以先进行归一化处理,以下只是简单的归一化方法,具体可参考网上
# df = (df-df.min())/(df.max()-df.min())

该处读取dataset文件夹下的数据,可以修改为你目录下的数据文件。


3.绘制曲线

代码如下(示例):

      # 横坐标数据
	  x = df['Time']
      # 纵坐标数据
      y1 = df['deep']
      y2 = df['shallow']
      y3 = df['rainfall']
      y4 = df['displacement']
      y5 = df['soil_stress']
      # 双坐标曲线图
      # Plot Line1 (Left Y Axis) 
      fig, ax1 = plt.subplots(1, 1, figsize=(16, 9), dpi=300)
      line1, = ax1.plot(x, y1 * 100, color='tab:orange', linewidth=4.0, label='Shallow moisture content')
      line2, =  ax1.plot(x, y2 * 100, color='tab:cyan', linewidth=4.0, label='Deep moisture content')
      # Plot Line2 (Right Y Axis)
      ax2 = ax1.twinx() 
      line3, = ax2.plot(x, y3, color='tab:blue', linewidth=4.0, label='Percentage of rainfall')
      line4, = ax2.plot(x, y4, color='tab:brown', linewidth=4.0, label='Percentage of displacement')
      line5, = ax2.plot(x, y5, color='tab:green', linewidth=4.0, label='Soil Stress')
      # 设置横坐标label、字体大小,是否加粗
      ax1.set_xlabel('Time steps', fontsize=32, fontweight='bold')
      # 设置纵坐标label、字体大小,字体颜色等
      ax1.set_ylabel('Moisture content', color='black', fontsize=32)
      plt.legend(handles=[line1, line2, line3, line4, line5], labels=['Shallow moisture content',
                                                                     'Deep moisture content',
                                                                     'Percentage of rainfall',
                                                                     'Percentage of displacement',
                                                                     'Soil Stress'],
               loc='best', fontsize=32)
      # 保存图片
      plt.savefig('./Figure/fig.png')
      plt.show()

该处读取dataset文件夹下的数据,并根据列划分为了多个因变量y1~y5,然后绘制双坐标曲线,关键在于“ax2 = ax1.twinx() ”,最后对曲线进行了展示与保存。


总结

以上就是本节对传感数据绘制的内容,本文仅仅简单介绍了pandas数据读取、双坐标图绘制功能的使用,对于双坐标曲线图中横纵轴的设置(字体大小、字体颜色、坐标轴范围、)和横坐标千分分隔符的设置详见资源传感数据分析-数据读取与绘图(可视化)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值