美文网首页
GC 异常值标记

GC 异常值标记

作者: Aerosols | 来源:发表于2020-02-26 22:54 被阅读0次
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.cm as cm

import os
import math
import glob
import datetime
import windrose

from windrose import WindroseAxes
from matplotlib import pyplot as plt
from datetime import timedelta

path1=r'C:\1214_BC.csv'
BC=pd.read_csv(path1,header=0,index_col=0)

path2=r'C:\WIND_1214_nR.csv'
wind=pd.read_csv(path2,header=0,index_col=0)
NW=432005
NB=432001

Timeindex=pd.date_range(start='2019-12-14 00:00:00',end='2019-12-15 01:00:00',freq='0.2S')
time_list=pd.date_range(start='2019-12-14 00:00:00',end='2019-12-15 00:00:00',freq='0.5H')

BC.index=Timeindex[:NB]
wind.index=Timeindex[:NW]

MeanB=BC.resample('0.5H').mean()
MeanW=wind.resample('0.5H').mean()

StdB=BC.resample('0.5H').std()    ##4
Stdw=wind.resample('0.5H').std()  ##4
label=['U','V','W']

for ith, star_t in enumerate(time_list[:30]):
    end_t = star_t + timedelta(minutes=30) - timedelta(seconds=0.2)
    print(ith,star_t, end_t)

    sub_BC = BC[star_t:end_t].copy()
    sub_w = wind[star_t:end_t].copy()
    x= wind[star_t:end_t].index

    fig,axs= plt.subplots(nrows=4, ncols=1,figsize=(16,8),sharex=True)

    for i in range(4):
       
       if i==3:
          M=MeanB.iloc[ith,0]
          Su=3.25*StdB.iloc[ith,0]+M
          Sd=-3.25*StdB.iloc[ith,0]+M
          print(M)
          
          axs[i].plot(x,sub_BC.iloc[:,0],c='b',lw=0.5)
          axs[i].axhline(y=M,c='k',lw=0.5)
          axs[i].axhline(y=Su,c='r',lw=0.5,linestyle='dashed')
          axs[i].axhline(y=Sd,c='r',lw=0.5,linestyle='dashed')
          axs[i].set_ylabel('BC(μg m$^-$$^3$)')
          
       else: 

          M=MeanW.iloc[ith,i]
          Su=3.25*Stdw.iloc[ith,i]+M
          Sd=-3.25*Stdw.iloc[ith,i]+M
          
          axs[i].plot(x,sub_w.iloc[:,i],c='b',lw=0.5)
          axs[i].axhline(y=M,c='k',lw=0.5)
          axs[i].axhline(y=Su,c='r',lw=0.5,linestyle='dashed')
          axs[i].axhline(y=Sd,c='r',lw=0.5,linestyle='dashed')
          axs[i].set_xlim(star_t,end_t)
          axs[i].set_ylabel(label[i]+'(ms$^-$$^1$)')
        
    for spine in ["top",'right']:
       axs[0].spines[spine].set_visible(False)
       axs[1].spines[spine].set_visible(False)
       axs[2].spines[spine].set_visible(False)

    axs[3].spines['top'].set_color('None')
    axs[3].spines['right'].set_color('None')
    
    plt.savefig(str(ith)+'.png',dpi=300,bbox_inches = 'tight')

相关文章

  • GC 异常值标记

  • chapter-4 GC算法与种类

    GC 算法与种类 ■ GC的概念■ GC算法• 引用计数法• 标记清除• 标记压缩• 复制算法■可触及性■ Sto...

  • cms收集器(Concurrent Mark Sweep)

    一、工作过程初始标记->并发标记->重新标记->并发清理 介绍:并发gc垃圾收集器,gc算法是标记清除,工作在老年...

  • JVM GC

    GC 概念 GC分类 引用计数法 可到达分析 GC内存回收算法 复制 标记清理 标记整理 参考文章 咱们从头到尾说...

  • G1 SATB和Incremental Update算法的理解

    着色标记 我们都知道cms gc 和g1 gc 的算法都是通过对gc root 进行遍历,并进行三颜色标记,具体标...

  • G1垃圾收集器

    初始标记暂停所有其他现场(STW),标记GC Roots能直接引用的对象 并发标记从GC Roots直接引用的对象...

  • GC算法

    GC的算法 1、复制 2、标记-清理 3、标记-整理

  • lua 5.3.4 GC管理对象类型的变化

    Lua 5.1.4 判断是否需要GC: GC对象GCObject union: 作为 GC 对象被虚拟机的 标记-...

  • iOS 内存管理-基础篇

    iOS内存管理主要有GC标记清除算法和引用计数方法两类:GC标记清除算法Garbage Collection,垃圾...

  • CMS垃圾回收的7个重要阶段

    1.CMS-initial-mark 初始标记(CMS的第一个STW阶段),标记GC Root直接引用的对象,GC...

网友评论

      本文标题:GC 异常值标记

      本文链接:https://www.haomeiwen.com/subject/jiigchtx.html