有时,为了方便看数据的变化情况,需要画一个动态图来看整体的变化情况。主要就是用Matplotlib库。
效果演示:
代码如下:
import matplotlib.pyplot as plt
import pandas as pd
filename = 'data.log'
# 创建空的 DataFrame 对象
df = pd.DataFrame()
# 设置图形属性
plt.ion()
plt.figure()
while True:
# 从文件中读取最新的数据
with open(filename, 'r') as f:
lines = f.readlines()
# 解析每行数据并将其添加到 DataFrame 中
data = []
for line in lines:
values = line.strip().split(' ')
data.append([float(values[0]), float(values[2])])
df = pd.DataFrame(data, columns=['x', 'y'])
# 绘制折线图
plt.clf()
plt.plot(df['x'], df['y'])
plt.draw()
plt.pause(2)
注:贴一部分data.log的数据
1223 -950.514152 -550.514152 359134347751 1197201600 1197165600
1224 -753.397472 -553.397472 359135669606 1197187200 1197169200
1225 -651.005338 -571.005338 359136306730 1197180000 1197172800
1226 -670.360741 -630.360741 359136980260 1197183600 1197180000
1227 -770.566246 -650.566246 359136980260 1197194400 1197183600
1228 -721.570501 -681.570501 359137670593 1197190800 1197187200
1229 -791.097862 -711.097862 359137670593 1197198000 1197190800
1230 -1010.977738 -610.977738 359141591349 1197230400 1197194400
1231 -823.602559 -623.602559 359142264880 1197216000 1197198000
1232 -734.146975 -654.146975 359142264880 1197208800 1197201600
1233 -764.749142 -724.749142 359142924407 1197212400 1197208800
1234 -876.951990 -756.951990 359142924407 1197223200 1197212400
1235 -833.053414 -793.053414 359142924407 1197219600 1197216000
1236 -908.375123 -828.375123 359142924407 1197226800 1197219600
1237 -1097.885531 -697.885531 359147480885 1197259200 1197223200
1238 -916.643602 -716.643602 359148164217 1197244800 1197226800
1239 -828.088181 -748.088181 359148827946 1197237600 1197230400
1240 -859.414746 -819.414746 359148827946 1197241200 1197237600
1241 -971.608654 -851.608654 359148827946 1197252000 1197241200
1242 -926.404593 -886.404593 359149507076 1197248400 1197244800
1243 -991.748437 -911.748437 359149507076 1197255600 1197248400
1244 -1030.628717 -870.628717 359151478657 1197266400 1197252000
1245 -982.732704 -902.732704 359152306217 1197262800 1197255600
1246 -489.968761 -369.968761 359167405327 1197270000 1197259200
1247 -665.068407 -265.068407 359171361091 1197298800 1197262800
1248 -481.954234 -281.954234 359172005215 1197284400 1197266400
1249 -393.165272 -313.165272 359172005215 1197277200 1197270000
1250 -422.844504 -382.844504 359172695548 1197280800 1197277200
1251 -530.237059 -410.237059 359172695548 1197291600 1197280800
1252 -486.297232 -446.297232 359172695548 1197288000 1197284400
1253 -562.406733 -482.406733 359173355075 1197295200 1197288000
1254 -771.045589 -371.045589 359177306636 1197327600 1197291600
1255 -589.117085 -389.117085 359177946560 1197313200 1197295200
1256 -501.170514 -421.170514 359177946560 1197306000 1197298800
1257 -534.018600 -494.018600 359177946560 1197309600 1197306000
1258 -646.151389 -526.151389 359178611688 1197320400 1197309600
1259 -603.078574 -563.078574 359178611688 1197316800 1197313200
1260 -680.005759 -600.005759 359178611688 1197324000 1197316800
1261 -882.026630 -482.026630 359182557649 1197356400 1197320400
1262 -702.673907 -502.673907 359183226977 1197342000 1197324000
1263 -611.379366 -531.379366 359183868301 1197334800 1197327600
1264 -643.421819 -603.421819 359183868301 1197338400 1197334800
1265 -753.872764 -633.872764 359183868301 1197349200 1197338400
1266 -708.302481 -668.302481 359184555833 1197345600 1197342000
1267 -786.094166 -706.094166 359184555833 1197352800 1197345600
1268 -992.859128 -592.859128 359188477989 1197385200 1197349200
1269 -817.262081 -617.262081 359189133316 1197370800 1197352800
1270 -728.990119 -648.990119 359189133316 1197363600 1197356400
1271 -764.478140 -724.478140 359189133316 1197367200 1197363600
1272 -876.958175 -756.958175 359189133316 1197378000 1197367200
1273 -833.955051 -793.955051 359189783041 1197374400 1197370800
1274 -910.966514 -830.966514 359189783041 1197381600 1197374400
1275 -1152.853597 -752.853597 359192422549 1197414000 1197378000
1276 -967.103407 -767.103407 359193768208 1197399600 1197381600
1277 -880.364595 -800.364595 359193768208 1197392400 1197385200
1278 -913.625782 -873.625782 359193768208 1197396000 1197392400
1279 -1021.518183 -901.518183 359194415134 1197406800 1197396000
1280 -951.752211 -911.752211 359195073260 1197403200 1197399600
1281 -991.573889 -911.573889 359196347505 1197410400 1197403200
1282 -767.672505 -367.672505 359211462017 1197442800 1197406800
1283 -593.582757 -393.582757 359212136947 1197428400 1197410400
1284 -508.303963 -428.303963 359212136947 1197421200 1197414000
1285 -544.784767 -504.784767 359212136947 1197424800 1197421200
1286 -657.011053 -537.011053 359212802075 1197435600 1197424800
1287 -612.732455 -572.732455 359212802075 1197432000 1197428400
1288 -690.165296 -610.165296 359212802075 1197439200 1197432000
1289 -923.398826 -523.398826 359216101111 1197471600 1197435600
1290 -744.966939 -544.966939 359216749436 1197457200 1197439200
1291 -657.365487 -577.365487 359216749436 1197450000 1197442800
1292 -691.416200 -651.416200 359217387958 1197453600 1197450000
1293 -800.836374 -680.836374 359217387958 1197464400 1197453600
1294 -757.309766 -717.309766 359217387958 1197460800 1197457200
1295 -834.664810 -754.664810 359217387958 1197468000 1197460800
1296 -1083.828635 -683.828635 359220664590 1197500400 1197464400
1297 -901.552753 -701.552753 359221336719 1197486000 1197468000
1298 -813.462309 -733.462309 359221336719 1197478800 1197471600
1299 -846.270802 -806.270802 359221336719 1197482400 1197478800
1300 -958.003639 -838.003639 359221992045 1197493200 1197482400
1301 -915.174285 -875.174285 359221992045 1197489600 1197486000
1302 -990.458695 -910.458695 359221992045 1197496800 1197489600
1303 -1180.425597 -780.425597 359226562526 1197529200 1197493200
1304 -998.341537 -798.341537 359227241657 1197514800 1197496800
1305 -910.337537 -830.337537 359227241657 1197507600 1197500400
1306 -943.334037 -903.334037 359227889981 1197511200 1197507600
1307 -1030.531398 -910.531398 359228612521 1197522000 1197511200
1308 -950.727458 -910.727458 359229265046 1197518400 1197514800
1309 -991.781375 -911.781375 359230600903 1197525600 1197518400
1310 -1235.842074 -835.842074 359233918142 1197558000 1197522000
1311 -1062.105167 -862.105167 359233918142 1197543600 1197525600
1312 -975.765056 -895.765056 359233918142 1197536400 1197529200
1313 -951.462843 -911.462843 359235914927 1197540000 1197536400
1314 -1032.603681 -912.603681 359237219978 1197550800 1197540000
1315 -952.343281 -912.343281 359237862702 1197547200 1197543600
1316 -992.093813 -912.093813 359239199959 1197554400 1197547200
1317 -1234.664784 -834.664784 359242518599 1197586800 1197550800
1318 -1053.823351 -853.823351 359243180927 1197572400 1197554400
1319 -968.524430 -888.524430 359243180927 1197565200 1197558000
1320 -953.575707 -913.575707 359244481777 1197568800 1197565200
1321 -1031.811124 -911.811124 359245814834 1197579600 1197568800
1322 -952.476750 -912.476750 359246492564 1197576000 1197572400
1323 -991.855926 -911.855926 359248179890 1197583200 1197576000
1324 -734.667030 -334.667030 359264749281 1197615600 1197579600
1325 -557.128293 -357.128293 359264749281 1197601200 1197583200
1326 -469.443310 -389.443310 359265443815 1197594000 1197586800
1327 -505.432662 -465.432662 359265443815 1197597600 1197594000
1328 -615.406042 -495.406042 359265443815 1197608400 1197597600
1329 -569.390069 -529.390069 359265443815 1197604800 1197601200
1330 -646.119633 -566.119633 359266093540 1197612000 1197604800
1331 -840.659465 -440.659465 359270113714 1197644400 1197608400
1332 -658.347605 -458.347605 359270763439 1197630000 1197612000
1333 -571.515374 -491.515374 359270763439 1197622800 1197615600
1334 -608.216510 -568.216510 359271470575 1197626400 1197622800
1335 -719.023438 -599.023438 359271470575 1197637200 1197626400
1336 -674.937628 -634.937628 359271470575 1197633600 1197630000
1337 -752.894723 -672.894723 359271470575 1197640800 1197633600
1338 -521.377108 -121.377108 359287258616 1197673200 1197637200
1339 -1002.268889 -962.268889 359288565068 1197720000 1197716400
1340 -1040.413700 -960.413700 359289889723 1197727200 1197720000
1341 -1362.288280 -962.288280 359290546449 1197759600 1197723600
1342 -1161.630852 -961.630852 359291866903 1197745200 1197727200
1343 -937.973561 -857.973561 359296070513 1197738000 1197730800
1344 -974.550667 -934.550667 359296155930 1197741600 1197738000
1345 -1075.485284 -955.485284 359296626420 1197752400 1197741600
1346 -967.627301 -927.627301 359297791444 1197748800 1197745200
1347 -1000.704259 -920.704259 359299780985 1197756000 1197748800
1348 -865.147763 -465.147763 359312580624 1197788400 1197752400
1349 -676.700407 -476.700407 359313929089 1197774000 1197756000
1350 -588.298741 -508.298741 359313929089 1197766800 1197759600
1351 -618.963556 -578.963556 359313929089 1197770400 1197766800
1352 -718.600265 -598.600265 359314559214 1197781200 1197770400
1353 -672.273617 -632.273617 359314559214 1197777600 1197774000
1354 -748.055852 -668.055852 359315242492 1197784800 1197777600
1355 -703.481278 -423.481278 359322490320 1197806400 1197781200
1356 -585.718803 -425.718803 359323807979 1197799200 1197784800
1357 -535.525225 -455.525225 359323807979 1197795600 1197788400
1358 -606.181111 -526.181111 359324473110 1197802800 1197795600
1359 -297.786049 -177.786049 359334420670 1197810000 1197799200
1360 -446.678778 -46.678778 359339063985 1197838800 1197802800
1361 -251.893652 -51.893652 359340345237 1197824400 1197806400
1362 -155.816393 -75.816393 359340345237 1197817200 1197810000
1363 -179.304598 -139.304598 359340996366 1197820800 1197817200
1364 -286.911958 -166.911958 359341644693 1197831600 1197820800
1365 -241.985062 -201.985062 359341644693 1197828000 1197824400
1366 -317.879315 -237.879315 359341644693 1197835200 1197828000
1367 -538.738556 -138.738556 359345601873 1197867600 1197831600
1368 -356.043721 -156.043721 359346262803 1197853200 1197835200
1369 -269.820274 -189.820274 359346262803 1197846000 1197838800
1370 -303.596827 -263.596827 359346262803 1197849600 1197846000
1371 -417.373380 -297.373380 359346262803 1197860400 1197849600
1372 -375.004455 -335.004455 359346892927 1197856800 1197853200
1373 -452.565265 -372.565265 359346892927 1197864000 1197856800
1374 -680.554538 -280.554538 359350214382 1197896400 1197860400
1375 -501.871223 -301.871223 359350897716 1197882000 1197864000
1376 -415.447479 -335.447479 359350897716 1197874800 1197867600
1377 -451.432639 -411.432639 359350897716 1197878400 1197874800
1378 -557.692049 -437.692049 359351526440 1197889200 1197878400
1379 -511.178173 -471.178173 359351526440 1197885600 1197882000
1380 -586.292765 -506.292765 359351526440 1197892800 1197885600
1381 -827.877268 -427.877268 359354839493 1197925200 1197889200
1382 -648.253097 -448.253097 359355510225 1197910800 1197892800
1383 -558.166814 -478.166814 359355510225 1197903600 1197896400
1384 -589.158044 -549.158044 359356168355 1197907200 1197903600
1385 -698.220180 -578.220180 359356168355 1197918000 1197907200
1386 -654.313800 -614.313800 359356168355 1197914400 1197910800
1387 -731.188697 -651.188697 359356168355 1197921600 1197914400
1388 -946.199356 -546.199356 359360107331 1197954000 1197918000
1389 -764.106107 -564.106107 359360794866 1197939600 1197921600
1390 -679.299027 -599.299027 359360794866 1197932400 1197925200
1391 -713.132806 -673.132806 359361422190 1197936000 1197932400
1392 -824.917856 -704.917856 359361422190 1197946800 1197936000
1393 -782.179539 -742.179539 359361422190 1197943200 1197939600
1394 -859.441222 -779.441222 359361915087 1197950400 1197943200
1395 -762.557531 -362.557531 359373757220 1197982800 1197946800
1396 -584.021648 -384.021648 359374423751 1197968400 1197950400
1397 -495.931167 -415.931167 359374423751 1197961200 1197954000
1398 -531.885926 -491.885926 359375079080 1197964800 1197961200
1399 -640.729811 -520.729811 359375079080 1197975600 1197964800
1400 -596.081429 -556.081429 359375079080 1197972000 1197968400
1401 -671.433048 -591.433048 359375079080 1197979200 1197972000
1402 -865.060803 -465.060803 359379695790 1198011600 1197975600
1403 -685.746647 -485.746647 359380349718 1197997200 1197979200
1404 -599.784576 -519.784576 359380349718 1197990000 1197982800
1405 -633.822505 -593.822505 359380349718 1197993600 1197990000
1406 -748.026401 -628.026401 359381020451 1198004400 1197993600
1407 -704.217655 -664.217655 359381020451 1198000800 1197997200