1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
| import pandas as pd import os import matplotlib.pyplot as plt import re
def dirProcess(fileList: list, missileType: str): fileListTime = [] fileListDist = [] for i in fileList: if (re.search('.*_Time.txt', i) != None): fileListTime.append(re.search('.*_Time.txt', i).group()) if (re.search('.*_Dist.txt', i) != None): fileListDist.append(re.search('.*_Dist.txt', i).group())
for i in fileListTime: dataFrame = pd.read_table( './导弹飞行数据/' + missileType + '/' + i, sep=',', header=None) dataFrame = dataFrame.sort_values(by=0) x = [] y = [] for index, row in dataFrame.iterrows(): x.append(row[0]) y.append(row[1]) figTime = plt.figure() ax = figTime.add_axes([0.12, 0.12, 0.8, 0.8]) ax.grid(True) ax.plot(x, y) ax.set_xlabel("飞行时间 (s)") ax.set_ylabel("速度 (km/h)") ax.set_title(i.split('_')[0] + "导弹数据") plt.savefig('./导弹飞行数据/图片/' + missileType + '/' + i.split('_') [0] + "导弹数据_时间-速度.png", dpi=288) plt.close()
for i in fileListDist: dataFrame = pd.read_table( './导弹飞行数据/' + missileType + '/' + i, sep=',', header=None) dataFrame = dataFrame.sort_values(by=0) x = [] y = [] for index, row in dataFrame.iterrows(): x.append(row[0]) y.append(row[1]) figDist = plt.figure() ax = figDist.add_axes([0.12, 0.12, 0.8, 0.8]) ax.grid(True) ax.plot(x, y) ax.set_xlabel("飞行距离 (m)") ax.set_ylabel("相对高度 (m)") ax.set_title(i.split('_')[0] + "导弹数据") plt.savefig('./导弹飞行数据/图片/' + missileType + '/' + i.split('_') [0] + "导弹数据_距离-高度.png", dpi=288) plt.close()
def dirProcessinAll(fileList: list, missileType: str): fileListTime = [] fileListDist = [] for i in fileList: if (re.search('.*_Time.txt', i) != None): fileListTime.append(re.search('.*_Time.txt', i).group()) if (re.search('.*_Dist.txt', i) != None): fileListDist.append(re.search('.*_Dist.txt', i).group()) figure, axes = plt.subplots(1, 2, figsize=(38.4, 10.8), dpi=200) labels_time = [] labels_dist = [] axes[0].set_xlabel("飞行时间 (s)") axes[0].set_ylabel("速度 (km/h)") axes[0].set_title(missileType + " 时间 - 速度 表") axes[0].grid(True) axes[1].set_xlabel("飞行距离 (m)") axes[1].set_ylabel("相对高度 (m)") axes[1].set_title(missileType + " 距离 - 高度 表") axes[1].grid(True) for i in fileListTime: dataFrame = pd.read_table( './导弹飞行数据/' + missileType + '/' + i, sep=',', header=None) dataFrame = dataFrame.sort_values(by=0) x = [] y = [] for index, row in dataFrame.iterrows(): x.append(row[0]) y.append(row[1]) axes[0].plot(x, y) labels_time.append(i.split('_')[0]) axes[0].legend(tuple(labels_time), loc='best') for i in fileListDist: dataFrame = pd.read_table( './导弹飞行数据/' + missileType + '/' + i, sep=',', header=None) dataFrame = dataFrame.sort_values(by=0) x = [] y = [] for index, row in dataFrame.iterrows(): x.append(row[0]) y.append(row[1]) axes[1].plot(x, y) labels_dist.append(i.split('_')[0]) axes[1].legend(tuple(labels_dist), loc='best') plt.savefig('./导弹飞行数据/图片/' + missileType + '/' + "各导弹数据对比.png") plt.close()
print("Please enter what the version you want to process\n") print("1. Single") print("2. All in One") cin = input() if (cin == '1'): dirProcess(os.listdir('./导弹飞行数据/地地导弹'), '地地导弹') dirProcess(os.listdir('./导弹飞行数据/空地导弹'), '空地导弹') dirProcess(os.listdir('./导弹飞行数据/地空导弹'), '地空导弹') dirProcess(os.listdir('./导弹飞行数据/近距弹'), '近距弹') dirProcess(os.listdir('./导弹飞行数据/中距弹'), '中距弹') elif (cin == '2'): dirProcessinAll(os.listdir('./导弹飞行数据/地地导弹'), '地地导弹') dirProcessinAll(os.listdir('./导弹飞行数据/空地导弹'), '空地导弹') dirProcessinAll(os.listdir('./导弹飞行数据/地空导弹'), '地空导弹') dirProcessinAll(os.listdir('./导弹飞行数据/近距弹'), '近距弹') dirProcessinAll(os.listdir('./导弹飞行数据/中距弹'), '中距弹')
|