python - 读取一个输入文件并绘制多个

标签 python numpy matplotlib graph plot

我正在尝试读取以下格式的一个输入文件。其中 Col[1] 是 x 轴,Col[2] 是 y 轴,col[3] 是某个名称。我需要为 col[3] 的单独名称绘制多个折线图。例如:带有 x,y 值的名称 sd 将有一张折线图,而带有相对 x,y 值的名称 gg值将有另一个折线图。所有内容都在一张输出图像中,但有单独的图表。 Python Matplotlib 可以吗?请重定向我到任何示例。我已经检查过没有找到。

akdj 12:00 34515 sd
sgqv 13:00 34626 sd
dfbb 13:00 14215 gg
ajdf 13:30 14224 gg
dsfb 13:45 25672 FW 
sfhh 14:00 85597 ad

感谢您的宝贵建议

最佳答案

您可以使用条件z=='some tag'来索引xy数组

这是一个应该执行此操作的示例(基于 your previous question 中的代码)。使用集合来自动创建标签:

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

threshold = 30000
x,y,z = [],[],[]
csv_reader = csv.reader(open('input.csv'))

for line in csv_reader:
    y.append(int(line[2]))
    x.append(dt.datetime.strptime(line[1],'%H:%M'))
    z.append(line[3])

x=np.array(x)
y=np.array(y)

tags = list(set(z))
z=np.array(z)

fig=plt.figure()

for tag in tags:
    plt.plot(x[z==tag],y[z==tag],'o-',label=tag)

fig.autofmt_xdate()

plt.legend(loc=2)

plt.savefig('test.png')

enter image description here

关于python - 读取一个输入文件并绘制多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30847653/

相关文章:

python - 获取 ndArray/list 的所有其他索引

python - 替换大量数组中的值(性能)

python - Python 和 Matplotlib 中的垂直直方图

python - 函数内的 matplotlib 按钮单击处理程序不起作用

python - 堆叠两个不同维度的稀疏矩阵

python - 如何在生产和开发中以不同的方式静态配置 Celery 应用程序?

c++ - 如何解决 Boost.Python 中的 __imp___Py_NoneStruct 错误?

python - 在mysql中定期向表中添加数据

python - 无法显示图像 HSI 转换为 RGB python

python - 可视化完整的互相关矩阵