如何将所有 csv 文件数据绘制到一张图表中并以可解释的方式表示它?

问题描述 投票:0回答:1

我使用一些传感器收集了时间序列数据。该数据集有两个类别 60 个样本,每个类别有 30 个样本。每个样本有 50 行和 11 列,并且以注释的方式进行标记,即样本的文件名是样本数据的标签。现在,我想以一种能够代表相对于时间的数据的方式可视化数据。 (如 x 轴上的时间和 y 轴上的传感器值)。

这是数据集中的样本图像(样本img1)(样本img2

这是我的数据集的链接:https://drive.google.com/drive/folders/1aRIR5ei3Gr0RdS8QXM6hrqPQ2cJdRyEp

我还给出了我尝试可视化数据的代码,但没有多大帮助。

提供的代码未提供所需的输出。输出图像之一是:

Graphical Representation using code

该图是通过更改 go.Scatter() 中 x=df.columns, y=df.iloc[0] 的值生成的

我想生成一个图表,其中 x 轴有 50 个点(50 行)作为时间点,并在其上绘制 11 列数据(y 轴)。

任何形式的帮助将不胜感激!谢谢和问候

代码:

import pandas as pd
import plotly.express as px
import plotly.graph_objects as go
import plotly.offline as pyo
import os

# Get the list of csv files in the directory
PATH = "E:\\Sankalp\\Practice_Stuff\\DummyData\\"
fileNames = os.listdir(PATH)
fileNames = [file for file in fileNames if '.csv' in file]

# Create a figure
fig = go.Figure()
x_axis_values = list(range(50))

# Loop through each csv file and add a trace to the figure
for file in fileNames:
    if file.startswith('bye bye'):      
        df = pd.read_csv(os.path.join(PATH, file),header=None)
        fig.add_trace(go.Scatter(x=x_axis_values, y=df.iloc[:,:], name=file, mode='lines+markers',line=dict(color="#2efd70")))
    elif file.startswith('welcome'):
        df = pd.read_csv(os.path.join(PATH, file),header=None)
        fig.add_trace(go.Scatter(x=x_axis_values, y=df.iloc[:,:], name=file, mode='lines+markers',line=dict(color="#ff0000")))

# Show the figure
fig.update_layout(title='Trend Chart for \'Welcome\'', xaxis_title='Time', yaxis_title='Values')
fig.show()
matplotlib machine-learning graph plotly visualization
1个回答
0
投票

有一些关键点可以解决您的问题并为您的传感器数据构建出色的可视化效果。他们在这里:

  1. 将传感器数据划分为两个不同的绘图。为第一个传感器创建一个图,为第二个传感器创建另一个图。 1.1 请记住,两个传感器的值也可能具有不同的数量级。
  2. 使用您正在使用的传感器名称和测量单位重命名 Y 轴。
  3. 用数据的时间范围重命名X轴,您可以通过使用pandas时间数据类型来实现这一点。
  4. 如果您在一段时间内连续收集数据,并且 CSV 仅包含该时间范围内的每一部分数据,则将所有文件中的数据合并为一个包含列的完整数据集:(sensor1-nameValue, sensor2-名称值,时间戳(或您喜欢的其他名称)。
  5. 合并 CSV 并清理数据(如果需要)后,您就可以使用绘图数据了。 6 为每个传感器绘制单独的图。由于您正在处理时间序列,线图对我来说似乎是最好的选择,但是如果您喜欢更多,并且随着传感器值的上升或减小,可能会增加或减少点的大小,您也可以使用散点图。
  6. 使用标题、图例、x 轴上的线条等完成整个可视化。

祝你好运,并及时通知我们更新:))

© www.soinside.com 2019 - 2024. All rights reserved.