使用csv文件中的matplotlib在python中绘制时间序列图

使用csv文件中的matplotlib在python中绘制时间序列图,python,numpy,matplotlib,time-series,data-analysis,Python,Numpy,Matplotlib,Time Series,Data Analysis,我有一些以下格式的csv数据 Ln Dr Tag Lab 0:01 0:02 0:03 0:04 0:05 0:06 0:07 0:08 0:09 L0 St vT 4R 0 0 0 0 0 0 0 0 0 L2 Tx st 4R 8 8 8 8

我有一些以下格式的csv数据

Ln    Dr    Tag Lab    0:01    0:02    0:03    0:04    0:05    0:06    0:07    0:08   0:09
L0   St     vT  4R       0       0       0       0       0      0        0       0      0
L2   Tx     st  4R       8       8       8       8       8      8        8       8      8
L2   Tx     ss  4R       1       1       9       6       1      0        0       6      7
我想使用列(
Ln
Dr
Tg
Lab
)作为键,使用
0:0n
字段作为时间序列图上的值来绘制时间序列图

我有以下代码

#!/usr/bin/env python

import matplotlib.pyplot as plt
import datetime
import numpy as np
import csv
import sys


with open("test.csv", 'r', newline='') as fin:
    reader = csv.DictReader(fin)
    for row in reader:
          key = (row['Ln'], row['Dr'], row['Tg'],row['Lab'])
          #code to extract the values and plot a timeseries.

如何提取列
0:0n
中的所有值,而不必指定其中的每一个。我希望所有的时间序列都绘制在一个时间序列上?

我不太确定您到底想做什么,但是
np.loadtxt
是一种方法。确保为文件正确设置分隔符

data = np.loadtxt(fname="test.csv",delimiter=',',skiprows=1)
现在,
data
的第n列是文件的第n列,行也是如此

您可以按行访问数据:
data[n]
或按列访问数据:
data[:,n]

我建议使用:


@atomh33Is-确实有效。但我的数据集比我显示的要大得多,我有大约200行这样的数据。我希望每行有一个单独的图表。是否可以这样做,并将所有此类图形输出到单个PDF文件,例如@liv2hak我不明白为什么不可以,这可能需要一些时间,具体取决于您的机器的规格。使用
plt.savefig('yourfile.PDF')
作为PDF格式。我可以将上述图形输出到PDF格式。我想要的,但我无法弄清楚的是,每个标签都有一个多个图形,所有这些图形都写在一个pdf中。@liv2hak听起来像是一个不同的问题?你能看一下吗?谢谢
import pandas as pd
a=pd.read_csv('yourfile.txt',delim_whitespace=True)
for x in a.iterrows():
    x[1][4:].plot(label=str(x[1][0])+str(x[1][1])+str(x[1][2])+str(x[1][3]))

plt.ylim(-1,10)
plt.legend()