当前位置: 首页 > news >正文

python_读取txt文件绘制多条曲线II

从给定的列表中来匹配txt文件对应列的数据;

import matplotlib.pyplot as plt
import re
from datetime import datetime
from pylab import mplmpl.rcParams["font.sans-serif"] = ["SimHei"]  # 设置显示中文字体
mpl.rcParams["axes.unicode_minus"] = False  # 设置正常显示符号# 需要匹配的数据
sys = [(1, 8, 0), (1, 8, 1), (1, 14, 0), (1, 14, 1)]"""
out_los_GDHZ.txt文件内容
2024/03/05 05:50:01  sys:  1,prn:  8, f :  0, rr :  22776258.520521, cdts :  9499.326017, dtrpr :  0.000000, ionxr :  16.994414, dantr :  0.000000, dantrr[findex] :  0.000000, scb :  0.000000, 
2024/03/05 05:50:01  sys:  1,prn:  8, f :  0, rr :  22776258.520521, cdts :  9499.326017, dtrpr :  0.000000, ionxr :  16.994414, dantr :  0.000000, dantrr[findex] :  0.000000, scb :  0.000000, 
2024/03/05 05:50:01  sys:  1,prn:  8, f :  1, rr :  22776258.520521, cdts :  9499.326017, dtrpr :  0.000000, ionxr :  30.475578, dantr :  0.000000, dantrr[findex] :  0.000000, scb :  0.000000, 
2024/03/05 05:50:01  sys:  1,prn:  8, f :  1, rr :  22776258.520521, cdts :  9499.326017, dtrpr :  0.000000, ionxr :  30.475578, dantr :  0.000000, dantrr[findex] :  0.000000, scb :  0.000000, 
2024/03/05 05:50:01  sys:  1,prn:  14, f :  0, rr :  23343648.060891, cdts :  102648.741372, dtrpr :  0.000000, ionxr :  19.831918, dantr :  0.000000, dantrr[findex] :  0.000000, scb :  0.000000, 
2024/03/05 05:50:01  sys:  1,prn:  14, f :  0, rr :  23343648.060891, cdts :  102648.741372, dtrpr :  0.000000, ionxr :  19.831918, dantr :  0.000000, dantrr[findex] :  0.000000, scb :  0.000000, 
2024/03/05 05:50:01  sys:  1,prn:  14, f :  1, rr :  23343648.060891, cdts :  102648.741372, dtrpr :  0.000000, ionxr :  35.563990, dantr :  0.000000, dantrr[findex] :  0.000000, scb :  0.000000, 
2024/03/05 05:50:01  sys:  1,prn:  14, f :  1, rr :  23343648.060891, cdts :  102648.741372, dtrpr :  0.000000, ionxr :  35.563990, dantr :  0.000000, dantrr[findex] :  0.000000, scb :  0.000000, 
2024/03/05 05:50:01  sys:  1,prn:  30, f :  0, rr :  21635324.825727, cdts : -127128.592610, dtrpr :  0.000000, ionxr :  14.159144, dantr :  0.000000, dantrr[findex] :  0.000000, scb :  0.000000, 
2024/03/05 05:50:01  sys:  1,prn:  30, f :  0, rr :  21635324.825727, cdts : -127128.592610, dtrpr :  0.000000, ionxr :  14.159144, dantr :  0.000000, dantrr[findex] :  0.000000, scb :  0.000000, 
"""with open('out_los_GDHZ.txt', 'r') as file:lines = file.readlines()ls = len(sys)# 使用字典推导式生成对应数量的空列表和0,并为它们重新命名time_lists = {f'time_list_{i}': [] for i in range(ls)}ionxr_lists = {f'ionxr_list_{i}': [] for i in range(ls)}count_lists = {f'count_list_{i}': 0 for i in range(ls)}# 因数据重复,隔行读取数据for line in lines[::2]:# 多个分隔符来分割temp = re.split("[,| ]+", line)for j in range(0, len(sys)):if (temp[3] == str(sys[j][0])) & (temp[5] == str(sys[j][1])) & (temp[8] == str(sys[j][2])):datee = temp[0]timee = temp[1]ionxr = temp[20]dt = datee + " " + timeetime_list = datetime.strptime(dt, "%Y/%m/%d %H:%M:%S")time_lists['time_list_' + str(j)].append(time_list)ionxr_lists['ionxr_list_' + str(j)].append(ionxr)count_lists['count_list_' + str(j)] += 1# print(time_lists['time_list_'+str(j)],ionxr_lists['ionxr_list_'+str(j)])# 绘制线形图plt.title(u'电离层活跃状况')for j in range(0, len(sys)):plt.plot(time_lists['time_list_' + str(j)], ionxr_lists['ionxr_list_' + str(j)])print(count_lists['count_list_' + str(j)])# 设置x轴标签和y轴标签plt.xlabel(u"日期")plt.ylabel(u"电离层系数")# 显示图表plt.show()

效果如下:

http://www.lryc.cn/news/312156.html

相关文章:

  • java排序简单总结和推荐使用套路(数据排序,结构体排序)
  • 掘根宝典之C语言联合和枚举
  • 【debug】element-ui时间控件回显后不可编辑且显示为空
  • 【Linux从青铜到王者】进程信号
  • MyBatis-Plus 快速入门
  • iOS调起高德/百度/腾讯/谷歌/苹果地图并使用GCJ02坐标进行导航
  • HarmonyOS Full SDK的安装
  • 小程序嵌套H5-真机突然无法使用
  • 自然语言处理 | 语言模型(LM) 浅析
  • 全量知识系统问题及SmartChat给出的答复 之13 解析器+DDD+文法型
  • 华中某科技大学校园网疑似dns劫持的解决方法
  • 模型部署 - onnx 的导出和分析 -(1) - PyTorch 导出 ONNX - 学习记录
  • 【鸿蒙 HarmonyOS 4.0】多设备响应式布局
  • Android ANR 日志分析定位
  • Optional 详解
  • (科目三)数据库基础知识
  • Unity性能优化篇(十) 模型优化之网格合并 Easy Mesh Combine Tool插件使用以及代码实现网格合并
  • 0.8秒一张图40hx矿卡stable diffusion webui 高质极速出图组合(24.3.3)
  • 手写分布式配置中心(四)增加实时刷新功能(长轮询)
  • 03 | 事务隔离:为什么你改了我还看不见?
  • Jmeter读取与使用Redis数据
  • flask 支持跨域访问 非常简单的方式 flask_cors
  • Hololens 2应用开发系列(1)——使用MRTK在Unity中设置混合现实场景并进行程序模拟
  • Newtonsoft.Json
  • 速卖通平台的API返回结果有哪些数据字段?
  • C++ 标准模板库(STL)
  • 【Javascript】设计模式之发布订阅模式
  • DataLoader
  • 持续集成(CICD)- Jenkins+Git+gogs综合实战(笔记二)
  • VUE:key属性的作用