繁体   English   中英

在递增的x轴上绘制值

[英]Plot values on a increasing x-axis

我正在使用python监控两个主机之间的延迟流。 我的程序创建了一个文件,该文件包含关于column1的两行信息,它们在我收到column2中的值时的时间间隔不同,例如:

2.0     -0.430053710938         
4.0     -0.0391845703125
1.0      5.830078125
4.0      5.07067871094

我花了2秒钟才收到-0.430053710938值,4秒钟后才收到-0.0391845703125,一秒钟后收到5.830078125,依此类推。

我如何绘制它,这样才有意义?,我尝试查看gnuplot,但它将column1创建为x轴,自从我的第3个值设为1.0以来,所有内容都被弄乱了。

您需要的是从文件读取后的时间(第一列)的累积总和( np.cumsum )。 以下是完整的工作答案。 我正在从文件中读取数据,然后将时间列表转换为数组,然后获取该时间的累积总和。

import matplotlib.pyplot as plt
import numpy as np

with open('data.dat',"r") as file:
    lines = file.readlines()

x = np.cumsum(np.array([float(row.split()[0]) for row in lines]))
y = [float(row.split()[1]) for row in lines]

plt.plot(x, y, '-kx')
plt.show()

加载数据的另一种方法

data = np.loadtxt('data.dat', usecols=(0,1))
x = np.cumsum(data[:,0])
y = data[:,1]
plt.plot(x, y, '-kx')
plt.show()

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM