• 全部
  • 互动交流
  • 文章分享

python文本文件中画多个图的问题请教

highphone 2021-03-25 10:39:06
我有个文本内容,里面是多个主机的ping的按分钟的结果,我的诉求是把多个主机ping的结果画在同一张折线图上。
每台主机的ping的结果格式如下:
第一行是ip,以及可以ping通的标识,可以不要;
第二行是主机名;
后面是ping的结果

文本内容如下:
192.168.0.1 | success | rc=0 >>
MY_HOST_001
4,2020-11-04 00:02
10,2020-11-04 00:56
10 ,2020-11-04 00:58
40 ,2020-11-04 01:00
32 ,2020-11-04 01:02
250, 2020-11-04 01:06
2 ,2020-11-04 02:29
2, 2020-11-04 02:41
2, 2020-11-04 05:25
2 ,2020-11-04 07:43
8, 2020-11-04 08:06
2, 2020-11-04 09:10
2 ,2020-11-04 09:11
2 ,2020-11-04 10:21
2, 2020-11-04 10:24
2, 2020-11-04 10:48
2 ,2020-11-04 13:42
2 ,2020-11-04 13:55
4, 2020-11-04 14:32

192.168.0.2 | success | rc=0 >>
MY_HOST_002
2, 2020-11-04 00:29
4 ,2020-11-04 00:56
8, 2020-11-04 01:00
24 ,2020-11-04 01:02
210 ,2020-11-04 01:06
4, 2020-11-04 03:22
2 ,2020-11-04 04:19
4 ,2020-11-04 06:14
10, 2020-11-04 06:52
8 ,2020-11-04 06:53
2 ,2020-11-04 07:19
2 ,2020-11-04 09:09
2, 2020-11-04 10:18
2, 2020-11-04 12:17
6 ,2020-11-04 13:02
6, 2020-11-04 14:16

目前一台主机的ping的结果图画脚本如下:
import matplotlib.pyplot as plt

file = open('ping.txt') #打开文档
data = file.readlines() #读取文档数据
para_1 = [] #新建列表,用于保存第一列数据
para_2 = [] #新建列表,用于保存第二列数据

for num in data:
# split用于将每一行数据用逗号分割成多个对象
#取分割后的第2列添加到para_1列表中
para_1.append(num.split(',')[1])
#取分割后的第0列,转换成float格式后添加到para_1列表中
para_2.append(float(num.split(',')[0]))
plt.figure()
plt.title('ping')
plt.plot(para_1, para_2)
plt.show()

请问脚本如何修改?请指点,多谢!
...全文
6 点赞 收藏 回复
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复

还没有回复,快来抢沙发~

发帖
脚本语言
创建于2007-08-27

3.7w+

社区成员

JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
申请成为版主
帖子事件
创建了帖子
2021-03-25 10:39
社区公告

CSDN 脚本语言社区接受专栏投稿(专栏会在顶部创建专属你的栏目),投稿需满足以下要求:

  • 脚本语言技术相关;
  • 文章持续更新,保持活跃;
  • 内容清晰明了,干货为主;
  • 文章排版有序,有条有理。

本社区开通招聘专栏,发布招聘信息请联系版主,发布者需要保证招聘信息真实有效,CSDN 平台和版主不对招聘内容负责!

联系方式:私聊版主、发送邮件、QQ联系等均可: