Files
ZKFC_ACC/__pycache__/QX8800SP_DA.cpython-312.pyc

202 lines
33 KiB
Plaintext
Raw Normal View History

2025-11-23 20:43:12 +08:00
<EFBFBD>
<19>il<00><00>Z<00>ddlZddlZddlmZddlmZ ddlm
Z
m Z ddl m Z ddlmZddlZdge j"d<de j"d<ej$dd<01>ej$d d<01>d
<EFBFBD>Zd <0B>Zd <0C>Zd <0A>Zd<0E>Zd<0F>Zd<10>Zd<11>Zd<12>Zd<13>Zd<14>Zd<15>Zd<16>Zdd<17>Z d<18>Z!d<19>Z"d<1A>Z#d<1B>Z$d<1C>Z%y)<1E>N)<02>MultipleLocator<6F>FormatStrFormatter)<01>Ellipse<73>SimHeiz font.familyFzaxes.unicode_minuszdisplay.max_columnszdisplay.max_rowsc<00><00>||d|k(}|jddgdd<05><06>jdd<07><08>}gd <09>|_d
g|j_|jj t <00>|_|d z t|<02>fS) uz
输入中科飞测量测结果及Die类型,输出4个Mark的量测结果,并与之前EVG量测数据保持一致
zDie typezMisreg XzMisreg YzDie NO.zMark NO.)<03>values<65>index<65>columns<6E>)<02>axis<69>level)<08>M1X<31>M1Y<31>M2X<32>M2Y<32>M3X<33>M3Y<33>M4X<34>M4Y<34>QX8800SP_Indexi<18><><EFBFBD>)<08> pivot_table<6C>
sort_indexr
r <00>names<65>astype<70>int<6E> describe_3s)<03> data_calc<6C>DieType<70>Refer_EVG_datas <20>Sc:\Users\yangdongdong\NAURA\中科飞测精度分析\2025-11.18.1\..\QX8800SP_DA.py<70>die1234r!s<><00><00><1F>y<EFBFBD><1A>4<>g<EFBFBD>=<3D>><3E>N<EFBFBD>#<23>/<2F>/<2F>
<EFBFBD>:<3A>7N<37>!*<2A>#-<2D>0<>/<2F>/9<>z<EFBFBD>q<EFBFBD>q<EFBFBD>z<EFBFBD>/I<><13>,<2C>N<EFBFBD><1A>#3<>!3<>N<EFBFBD><18><18><1E>)<29>/<2F>/<2F>6<>6<>s<EFBFBD>;<3B>N<EFBFBD><18> <19>%<25> <1F><1B>^<5E>!<<3C> <<3C><<3C>c<00>~<00>|dk(r d}d}d}d}n)|dk(r d}d}d }d
}n|d k(r d }d }d}d}n |dk(rd}d}d}d}|dk(r<>tjddd |d gdd|d|d gddd |d gdd|d|d gg<04>}tjj|<07>}tj||gd<18>j
<00>j
} n<>|dk(r<>tjddd |d gdd|d|d gddd |d gdd|d|d gddd |d gdd|d|d gddd |d gdd|d|d gg<08>}tjj |<07>}tj||j
<00>j
} tj |jgd<1A><01><1B>}
|
j<00>} |
d|
d c|
d<|
d<tj|
d<00>dztjz |
d<|
d ddz
dz|d|dz
dzzd!zzdz |
d"<|
| fS)#u{
输入要进行误差分解的原始数据、Die类型以及使用的Mark个数,输出误差分解后的结果。
<20>Die1)gJ +<2B>Ȳ@g<><67><EFBFBD><EFBFBD>9$<24>@)g/<2F>$!<21><><EFBFBD>go<12><><EFBFBD>I<EFBFBD>@)g;<3B>O<EFBFBD><4F><EFBFBD><EFBFBD>@g<><67>x<EFBFBD>Ff<46><66>)g<>ʡE6<45><36><EFBFBD>g^<5E>I B/<2F><><EFBFBD>Die2)g<><67><EFBFBD><EFBFBD>̴<EFBFBD>@<40>G)<02><><EFBFBD><EFBFBD><EFBFBD>r&)<02><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22>@g<><67><EFBFBD><EFBFBD>̻<EFBFBD><CCBB>)r'g<><67><EFBFBD><EFBFBD>̉<EFBFBD><CC89><EFBFBD>Die3)g\<5C><><EFBFBD>(β@g<><67><EFBFBD>KW<17>@)g<>ʡE<CAA1><18><>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>$<24>@)i<>i<><69><EFBFBD><EFBFBD>)gR<67><1E><><1D><>g<EFBFBD>|?5<16><><EFBFBD>Die4)g<><67><EFBFBD><EFBFBD><EFBFBD>ij@<40><><EFBFBD><EFBFBD><EFBFBD>̉<EFBFBD>@)r'r+)r(<00><><EFBFBD><EFBFBD><EFBFBD>)r'r,<00>r r)rrrr<00><00><04>TX<54>TY<54>$\theta$<24>R)r r
r1r0r2<00><>r3<00><00>?<3F>RL) <0A>np<6E>array<61>linalg<6C>inv<6E>dot<6F>T<>pinv<6E>pd<70> DataFramer <00>copy<70>arcsin<69>pi) <0C>dfr<00>UseMark<72>DieM1<4D>DieM2<4D>DieM3<4D>DieM4<4D>Mis_T<5F>EVG_T1<54>T4<54>TG_D4<44>
TG_D4_copys r rIrI!s<><00><00>\<0F>&<26><18>#<23><05>$<24><05>$<24><05>%<25><05> <10>F<EFBFBD> <1A><1D><05><1C><05> <20><05><1F><05> <10>F<EFBFBD> <1A>"<22><05>$<24><05><1C><05>%<25><05> <10>F<EFBFBD> <1A><1F><05><1E><05><1E><05><1D><05><0E>!<21>|<7C><12><08><08><1A>1<EFBFBD>e<EFBFBD>A<EFBFBD>h<EFBFBD>Y<EFBFBD><05>a<EFBFBD><08>y<EFBFBD>1<><1A>1<EFBFBD>e<EFBFBD>A<EFBFBD>h<EFBFBD><05>a<EFBFBD><08>y<EFBFBD>1<><1A>1<EFBFBD>e<EFBFBD>A<EFBFBD>h<EFBFBD>Y<EFBFBD><05>a<EFBFBD><08>y<EFBFBD>1<><1A>1<EFBFBD>e<EFBFBD>A<EFBFBD>h<EFBFBD><05>a<EFBFBD><08>y<EFBFBD>1<> <1A><1B><05><14><19><19><1D><1D>u<EFBFBD>%<25><06> <0F>V<EFBFBD>V<EFBFBD>F<EFBFBD>2<EFBFBD>7<>8<>:<3A>:<3A> ;<3B> =<3D> =<3D><02> <10>A<EFBFBD><1C><12><08><08><1A>1<EFBFBD>e<EFBFBD>A<EFBFBD>h<EFBFBD>Y<EFBFBD><05>a<EFBFBD><08>y<EFBFBD>1<><1A>1<EFBFBD>e<EFBFBD>A<EFBFBD>h<EFBFBD><05>a<EFBFBD><08>y<EFBFBD>1<><1A>1<EFBFBD>e<EFBFBD>A<EFBFBD>h<EFBFBD>Y<EFBFBD><05>a<EFBFBD><08>y<EFBFBD>1<><1A>1<EFBFBD>e<EFBFBD>A<EFBFBD>h<EFBFBD><05>a<EFBFBD><08>y<EFBFBD>1<><1A>1<EFBFBD>e<EFBFBD>A<EFBFBD>h<EFBFBD>Y<EFBFBD><05>a<EFBFBD><08>y<EFBFBD>1<><1A>1<EFBFBD>e<EFBFBD>A<EFBFBD>h<EFBFBD><05>a<EFBFBD><08>y<EFBFBD>1<><1A>1<EFBFBD>e<EFBFBD>A<EFBFBD>h<EFBFBD>Y<EFBFBD><05>a<EFBFBD><08>y<EFBFBD>1<><1A>1<EFBFBD>e<EFBFBD>A<EFBFBD>h<EFBFBD><05>a<EFBFBD><08>y<EFBFBD>1<> <1A> <1B><05><14><19><19><1E><1E><05>&<26><06> <0F>V<EFBFBD>V<EFBFBD>F<EFBFBD>2<EFBFBD>4<EFBFBD>4<EFBFBD> <20> "<22> "<22><02> <0E>L<EFBFBD>L<EFBFBD><12>"<22>(<28>(<28>3N<33> O<>E<EFBFBD><16><1A><1A><1C>J<EFBFBD>!<21>$<24>K<EFBFBD>%<25><04>+<2B><1C><1B>E<EFBFBD>$<24>K<EFBFBD><05>d<EFBFBD> <0B><1B><19><19>5<EFBFBD><1B>#5<>6<>s<EFBFBD>:<3A>2<EFBFBD>5<EFBFBD>5<EFBFBD>@<40>E<EFBFBD>+<2B><16><17><03>*<2A>u<EFBFBD>Q<EFBFBD>x<EFBFBD><05>a<EFBFBD><08>0<>1<EFBFBD>4<><05>a<EFBFBD><08><15>q<EFBFBD><18>8I<38>A<EFBFBD>7M<37>M<>PS<50>S<>S<>TU<54>U<>E<EFBFBD>$<24>K<EFBFBD> <10><1A> <1B>r"c<00>d<00>|j<00>j<00>}||jt<00>j t
j <00>}tj<00>}|jdd<00>df|d<|jdd<00>df |d<||d<||d<|jd<07>}|S)Nr <00>Xr<00>Y<>Die_Type<70> Mark_Type<70> EVG_Index) rr@<00>applymap<61>isnumberrr7<00>float64r>r?<00>iloc<6F> rename_axis)<05>EVGrQrR<00>df_EVG<56>
df_EVG_news r <00>Data_ETLr\<00>s<><00><00> <10>^<5E>^<5E> <1D> "<22> "<22> $<24>F<EFBFBD> <13>F<EFBFBD>O<EFBFBD>O<EFBFBD>H<EFBFBD>-<2D> .<2E> 5<> 5<>b<EFBFBD>j<EFBFBD>j<EFBFBD> A<>F<EFBFBD><13><1C><1C><1E>J<EFBFBD><1C>k<EFBFBD>k<EFBFBD>!<21>A<EFBFBD>#<23>&<26>J<EFBFBD>s<EFBFBD>O<EFBFBD><1D>{<7B>{<7B>1<EFBFBD>Q<EFBFBD>3<EFBFBD>'<27>'<27>J<EFBFBD>s<EFBFBD>O<EFBFBD>%<25>J<EFBFBD>z<EFBFBD><1A>'<27>J<EFBFBD>{<7B><1B><1B>'<27>'<27> <0B>4<>J<EFBFBD> <15>r"c<00><><00>tj|D<00>cgc]}|<03><02>c}<03>}|j||zdz<00>ycc}w)Nz.xlsx)r><00>concat<61>to_excel)<05>folder<65>path<74>dfs<66>irCs r <00> Data_ETL_Catrd<00>s5<00><00> <0B><19><19>s<EFBFBD>#<23>!<21>A<EFBFBD>#<23> $<24>B<EFBFBD><06>K<EFBFBD>K<EFBFBD><06>t<EFBFBD> <0B>G<EFBFBD>#<23>$<24><>$s<00> <c <00><><00>|}tj|<01>}ggggd<01>}|D<00>]<5D>}|jd<02>s<01>tjj ||<04>}t j |<05>} d|djddvr<>tj|ddD<00>cgc]}|d d
<00><02> c}t<00> <0B>|dd<|djd
d
d <0C>gd <0A>fjd<08>}ddg|_ dg|j_||d<<00>n<>d|djddvr<>tj|ddD<00>cgc]}|d d
<00><02> c}t<00> <0B>|dd<|djd
d
d <0C>gd <0A>fjd<08>} ddg| _ dg| j_| |d<<00>n/d|djddvr<>tj|ddD<00>cgc]}|d d
<00><02> c}t<00> <0B>|dd<|djd
d
d <0C>gd <0A>fjd<08>}
ddg|
_ dg|
j_|
|d<n<>d|djddvr<>tj|ddD<00>cgc]}|d d
<00><02> c}t<00> <0B>|dd<|djd
d
d <0C>gd <0A>fjd<08>} ddg| _ dg| j_| |d<<00><02><>|Scc}wcc}wcc}wcc}w#Y<00><02><>xYw)u<>
读取QX8800SP第 1 批EVG测量html文件数据。
文件夹内有两个html一个是Mark1另一个是Mark4
)<04>M1<4D>M2<4D>M4<4D>M3<4D>.html<6D>MARK1r<00>r r-<00>
Identifier<EFBFBD>N<><01>dtype<70><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>r<00>rnrrrYrf<00>MARK2rrri<00>MARK3rr<00>MARK4rrrh<00><10>os<6F>listdir<69>endswithra<00>joinr><00> read_html<6D>locr7r8rrW<00> set_indexr
r r<00> ra<00> folder_path<74>
file_names<EFBFBD> html_data<74> file_name<6D> file_pathrCrcrfrgrirhs r <00>read_html_SP_1r<31><00>s<><00><00> <17>K<EFBFBD><14><1A><1A>K<EFBFBD>(<28>J<EFBFBD><19>b<EFBFBD>b<EFBFBD>b<EFBFBD>2<>I<EFBFBD> <20>%<19> <09> <14> <1D> <1D>g<EFBFBD> &<26><1A><07><07> <0C> <0C>[<5B>)<29><<3C>I<EFBFBD><13><1C><1C>i<EFBFBD>(<28>B<EFBFBD> <19><1B>r<EFBFBD>!<21>u<EFBFBD>y<EFBFBD>y<EFBFBD><11>|<7C>A<EFBFBD><EFBFBD>.<2E>*,<2C>(<28>(<28>2<EFBFBD>a<EFBFBD>5<EFBFBD><1C>CV<43>3W<33>a<EFBFBD>A<EFBFBD>a<EFBFBD>b<EFBFBD>E<EFBFBD>3W<33>_b<5F>*c<>B<EFBFBD>q<EFBFBD>E<EFBFBD>,<2C>'<27><1B>A<EFBFBD><15><1A><1A>D<EFBFBD>b<EFBFBD>D<EFBFBD><17>L<EFBFBD>1<>;<3B>;<3B>L<EFBFBD>I<>B<EFBFBD>"'<27><05><1D>B<EFBFBD>J<EFBFBD>&+<2B>W<EFBFBD>B<EFBFBD>H<EFBFBD>H<EFBFBD>N<EFBFBD>&(<28>I<EFBFBD>d<EFBFBD>O<EFBFBD><1D><12>A<EFBFBD><15><19><19>1<EFBFBD><1C>a<EFBFBD><1F>0<>*,<2C>(<28>(<28>2<EFBFBD>a<EFBFBD>5<EFBFBD><1C>CV<43>3W<33>a<EFBFBD>A<EFBFBD>a<EFBFBD>b<EFBFBD>E<EFBFBD>3W<33>_b<5F>*c<>B<EFBFBD>q<EFBFBD>E<EFBFBD>,<2C>'<27><1B>A<EFBFBD><15><1A><1A>D<EFBFBD>b<EFBFBD>D<EFBFBD><17>L<EFBFBD>1<>;<3B>;<3B>L<EFBFBD>I<>B<EFBFBD>"'<27><05><1D>B<EFBFBD>J<EFBFBD>&+<2B>W<EFBFBD>B<EFBFBD>H<EFBFBD>H<EFBFBD>N<EFBFBD>&(<28>I<EFBFBD>d<EFBFBD>O<EFBFBD><1D><12>A<EFBFBD><15><19><19>1<EFBFBD><1C>a<EFBFBD><1F>0<>*,<2C>(<28>(<28>2<EFBFBD>a<EFBFBD>5<EFBFBD><1C>CV<43>3W<33>a<EFBFBD>A<EFBFBD>a<EFBFBD>b<EFBFBD>E<EFBFBD>3W<33>_b<5F>*c<>B<EFBFBD>q<EFBFBD>E<EFBFBD>,<2C>'<27><1B>A<EFBFBD><15><1A><1A>D<EFBFBD>b<EFBFBD>D<EFBFBD><17>L<EFBFBD>1<>;<3B>;<3B>L<EFBFBD>I<>B<EFBFBD>"'<27><05><1D>B<EFBFBD>J<EFBFBD>&+<2B>W<EFBFBD>B<EFBFBD>H<EFBFBD>H<EFBFBD>N<EFBFBD>&(<28>I<EFBFBD>d<EFBFBD>O<EFBFBD><1D><12>A<EFBFBD><15><19><19>1<EFBFBD><1C>a<EFBFBD><1F>0<>*,<2C>(<28>(<28>2<EFBFBD>a<EFBFBD>5<EFBFBD><1C>CV<43>3W<33>a<EFBFBD>A<EFBFBD>a<EFBFBD>b<EFBFBD>E<EFBFBD>3W<33>_b<5F>*c<>B<EFBFBD>q<EFBFBD>E<EFBFBD>,<2C>'<27><1B>A<EFBFBD><15><1A><1A>D<EFBFBD>b<EFBFBD>D<EFBFBD><17>L<EFBFBD>1<>;<3B>;<3B>L<EFBFBD>I<>B<EFBFBD>"'<27><05><1D>B<EFBFBD>J<EFBFBD>&+<2B>W<EFBFBD>B<EFBFBD>H<EFBFBD>H<EFBFBD>N<EFBFBD>&(<28>I<EFBFBD>d<EFBFBD>O<EFBFBD><4F>C%<19>L <15><14><>=4X<01><>4X<01><>4X<01><>4X<01><> <19><18><>F<00>-0K'<02> K
<EFBFBD>)B K'<02>6 K
<EFBFBD>B K'<02> K
<EFBFBD>B K'<02>' K"
<EFBFBD>3AK'<02>K'<02>'K,c <00><><00>|}tj|<01>}ggggd<01>}|D<00>]<5D>}|jd<02>s<01>tjj ||<04>}t j |<05>} d|djddvr<>tj|ddD<00>cgc]}|d d
<00><02> c}t<00> <0B>|dd<|djd
d
d <0C>gd <0A>fjd<08>}ddg|_ dg|j_||d<<00>n<>d|djddvr<>tj|ddD<00>cgc]}|d d
<00><02> c}t<00> <0B>|dd<|djd
d
d <0C>gd <0A>fjd<08>} ddg| _ dg| j_| |d<<00>n/d|djddvr<>tj|ddD<00>cgc]}|d d
<00><02> c}t<00> <0B>|dd<|djd
d
d <0C>gd <0A>fjd<08>}
ddg|
_ dg|
j_|
|d<n<>d|djddvr<>tj|ddD<00>cgc]}|d d
<00><02> c}t<00> <0B>|dd<|djd
d
d <0C>gd <0A>fjd<08>} ddg| _ dg| j_| |d<<00><02><>|Scc}wcc}wcc}wcc}w#Y<00><02><>xYw)<1E><>
读取QX8800SP第 2 批EVG测量html文件数据。
文件夹内有两个html一个是Mark1另一个是Mark4
)rfrgrirhrjrkrrlr r.rmrnNrorqrrrrrYrfrtrrrgrurrrirvrrrhrwrs r <00>read_html_SP_2r<32><00>s<><00><00> <17>K<EFBFBD><14><1A><1A>K<EFBFBD>(<28>J<EFBFBD><19>b<EFBFBD>b<EFBFBD>b<EFBFBD>1<>I<EFBFBD> <20>#<19> <09> <14> <1D> <1D>g<EFBFBD> &<26><1A><07><07> <0C> <0C>[<5B>)<29><<3C>I<EFBFBD><13><1C><1C>i<EFBFBD>(<28>B<EFBFBD> <19><1B>r<EFBFBD>!<21>u<EFBFBD>y<EFBFBD>y<EFBFBD><11>|<7C>A<EFBFBD><EFBFBD>.<2E>*,<2C>(<28>(<28>2<EFBFBD>a<EFBFBD>5<EFBFBD><1C>CV<43>3W<33>a<EFBFBD>A<EFBFBD>a<EFBFBD>b<EFBFBD>E<EFBFBD>3W<33>_b<5F>*c<>B<EFBFBD>q<EFBFBD>E<EFBFBD>,<2C>'<27><1B>A<EFBFBD><15><1A><1A>D<EFBFBD>b<EFBFBD>D<EFBFBD><17>L<EFBFBD>1<>;<3B>;<3B>L<EFBFBD>I<>B<EFBFBD>"'<27><05><1D>B<EFBFBD>J<EFBFBD>&+<2B>W<EFBFBD>B<EFBFBD>H<EFBFBD>H<EFBFBD>N<EFBFBD>&(<28>I<EFBFBD>d<EFBFBD>O<EFBFBD><1D><12>A<EFBFBD><15><19><19>1<EFBFBD><1C>a<EFBFBD><1F>0<>*,<2C>(<28>(<28>2<EFBFBD>a<EFBFBD>5<EFBFBD><1C>CV<43>3W<33>a<EFBFBD>A<EFBFBD>a<EFBFBD>b<EFBFBD>E<EFBFBD>3W<33>_b<5F>*c<>B<EFBFBD>q<EFBFBD>E<EFBFBD>,<2C>'<27><1B>A<EFBFBD><15><1A><1A>D<EFBFBD>b<EFBFBD>D<EFBFBD><17>L<EFBFBD>1<>;<3B>;<3B>L<EFBFBD>I<>B<EFBFBD>"'<27><05><1D>B<EFBFBD>J<EFBFBD>&+<2B>W<EFBFBD>B<EFBFBD>H<EFBFBD>H<EFBFBD>N<EFBFBD>&(<28>I<EFBFBD>d<EFBFBD>O<EFBFBD><1D><12>A<EFBFBD><15><19><19>1<EFBFBD><1C>a<EFBFBD><1F>0<>*,<2C>(<28>(<28>2<EFBFBD>a<EFBFBD>5<EFBFBD><1C>CV<43>3W<33>a<EFBFBD>A<EFBFBD>a<EFBFBD>b<EFBFBD>E<EFBFBD>3W<33>_b<5F>*c<>B<EFBFBD>q<EFBFBD>E<EFBFBD>,<2C>'<27><1B>A<EFBFBD><15><1A><1A>D<EFBFBD>b<EFBFBD>D<EFBFBD><17>L<EFBFBD>1<>;<3B>;<3B>L<EFBFBD>I<>B<EFBFBD>"'<27><05><1D>B<EFBFBD>J<EFBFBD>&+<2B>W<EFBFBD>B<EFBFBD>H<EFBFBD>H<EFBFBD>N<EFBFBD>&(<28>I<EFBFBD>d<EFBFBD>O<EFBFBD><1D><12>A<EFBFBD><15><19><19>1<EFBFBD><1C>a<EFBFBD><1F>0<>*,<2C>(<28>(<28>2<EFBFBD>a<EFBFBD>5<EFBFBD><1C>CV<43>3W<33>a<EFBFBD>A<EFBFBD>a<EFBFBD>b<EFBFBD>E<EFBFBD>3W<33>_b<5F>*c<>B<EFBFBD>q<EFBFBD>E<EFBFBD>,<2C>'<27><1B>A<EFBFBD><15><1A><1A>D<EFBFBD>b<EFBFBD>D<EFBFBD><17>L<EFBFBD>1<>;<3B>;<3B>L<EFBFBD>I<>B<EFBFBD>"'<27><05><1D>B<EFBFBD>J<EFBFBD>&+<2B>W<EFBFBD>B<EFBFBD>H<EFBFBD>H<EFBFBD>N<EFBFBD>&(<28>I<EFBFBD>d<EFBFBD>O<EFBFBD><4F>C#<19>H <15><14><>94X<01><>4X<01><>4X<01><>4X<01><>
 <19><18>r<EFBFBD>c <00>f<00>|}tj|<01>}gggd<01>}|D<00>]<5D>}|jd<02>s<01>tjj ||<04>}t j |<05>} d|djddvr<>tj|ddD<00>cgc]}|dd <00><02> c}t<00>
<EFBFBD>|dd<|djd d d <0B>gd <0C>fjd<08>}|djdd} | d z}||d <<00>nd|djddvr<>tj|ddD<00>cgc]}|dd <00><02> c}t<00>
<EFBFBD>|dd<|djd d d <0B>gd <0C>fjd<08>}
|djdd} | dz}|
|d<n|d|djddvretj|ddD<00>cgc]}|dd <00><02> c}t<00>
<EFBFBD>|dd<|djd d d <0B>gd <0C>fjd<08>} | |d<<00><01><>|Scc}wcc}wcc}w#Y<00><02>xYw)r<>)rfrgrirjrkrrlr r.rmNrorqrrrfrvrnrgruri) rxryrzrar{r>r|r}r7r8rrWr~) rar<>r<>r<>r<>r<>rCrcrf<00>IDrgris r <00>read_html_SP_3r<33>s<<00><00> <17>K<EFBFBD><14><1A><1A>K<EFBFBD>(<28>J<EFBFBD><19>b<EFBFBD>b<EFBFBD>)<29>I<EFBFBD> <20><19> <09> <14> <1D> <1D>g<EFBFBD> &<26><1A><07><07> <0C> <0C>[<5B>)<29><<3C>I<EFBFBD><13><1C><1C>i<EFBFBD>(<28>B<EFBFBD> <19><1B>r<EFBFBD>!<21>u<EFBFBD>y<EFBFBD>y<EFBFBD><11>|<7C>A<EFBFBD><EFBFBD>.<2E>*,<2C>(<28>(<28>2<EFBFBD>a<EFBFBD>5<EFBFBD><1C>CV<43>3W<33>a<EFBFBD>A<EFBFBD>a<EFBFBD>b<EFBFBD>E<EFBFBD>3W<33>_b<5F>*c<>B<EFBFBD>q<EFBFBD>E<EFBFBD>,<2C>'<27><1B>A<EFBFBD><15><1A><1A>D<EFBFBD>b<EFBFBD>D<EFBFBD><17>L<EFBFBD>1<>;<3B>;<3B>L<EFBFBD>I<>B<EFBFBD><1B>A<EFBFBD><15><19><19>1<EFBFBD><1C>a<EFBFBD><1F>B<EFBFBD> "<22>T<EFBFBD> <09>I<EFBFBD>&(<28>I<EFBFBD>d<EFBFBD>O<EFBFBD><1D><12>A<EFBFBD><15><19><19>1<EFBFBD><1C>a<EFBFBD><1F>0<>*,<2C>(<28>(<28>2<EFBFBD>a<EFBFBD>5<EFBFBD><1C>CV<43>3W<33>a<EFBFBD>A<EFBFBD>a<EFBFBD>b<EFBFBD>E<EFBFBD>3W<33>_b<5F>*c<>B<EFBFBD>q<EFBFBD>E<EFBFBD>,<2C>'<27><1B>A<EFBFBD><15><1A><1A>D<EFBFBD>b<EFBFBD>D<EFBFBD><17>L<EFBFBD>1<>;<3B>;<3B>L<EFBFBD>I<>B<EFBFBD><1B>A<EFBFBD><15><19><19>1<EFBFBD><1C>a<EFBFBD><1F>B<EFBFBD> "<22>T<EFBFBD> <09>I<EFBFBD>&(<28>I<EFBFBD>d<EFBFBD>O<EFBFBD><1D><12>A<EFBFBD><15><19><19>1<EFBFBD><1C>a<EFBFBD><1F>0<>*,<2C>(<28>(<28>2<EFBFBD>a<EFBFBD>5<EFBFBD><1C>CV<43>3W<33>a<EFBFBD>A<EFBFBD>a<EFBFBD>b<EFBFBD>E<EFBFBD>3W<33>_b<5F>*c<>B<EFBFBD>q<EFBFBD>E<EFBFBD>,<2C>'<27><1B>A<EFBFBD><15><1A><1A>D<EFBFBD>b<EFBFBD>D<EFBFBD><17>L<EFBFBD>1<>;<3B>;<3B>L<EFBFBD>I<>B<EFBFBD>&(<28>I<EFBFBD>d<EFBFBD>O<EFBFBD><4F>-<19>2 <15><14><>#4X<01><> 4X<01><> 4X<01><> <19><18>s9<00>,0H+<02> H
<EFBFBD>(B H+<02>4 H!
<EFBFBD>B H+<02> H&
<EFBFBD>AH+<02>H+<02>+H0c<00><><00>|j<00>}|jd|jdz
|jd<|jddz|jd<|S)N<>max<61>min<69>range<67>stdrl<00>3sigma)<02>describer})rC<00>des_dfs r rr.sS<00><00> <0F>[<5B>[<5B>]<5D>F<EFBFBD> <20>*<2A>*<2A>U<EFBFBD>+<2B>F<EFBFBD>J<EFBFBD>J<EFBFBD>u<EFBFBD>,=<3D>=<3D>F<EFBFBD>J<EFBFBD>J<EFBFBD>w<EFBFBD><17>!<21>:<3A>:<3A>e<EFBFBD>,<2C>Q<EFBFBD>.<2E>F<EFBFBD>J<EFBFBD>J<EFBFBD>x<EFBFBD><18> <11>Mr"c<00><><00>t|<00>}|gd<01>jddg}|ddz|ddzc|d<|d<|dtjzdz d z|d<|d
d z|d
<gd <0B>|_|j
S) Nr/<00>meanr<6E>r0i<>r1r2r4i@Br3)u
TXnmu
TYnmuthetaμradu
Rppm)rr}r7rBr
r<)rC<00>df_shows r <00> result_showr<77>4s<><00><00> <14>R<EFBFBD><1F>B<EFBFBD><10>,<2C>-<2D>1<>1<>6<EFBFBD>(<28>2C<32>D<>G<EFBFBD>")<29>$<24>-<2D><04>"4<>W<EFBFBD>T<EFBFBD>]<5D>4<EFBFBD>5G<35><1F>G<EFBFBD>D<EFBFBD>M<EFBFBD>'<27>$<24>-<2D>"<22>;<3B>/<2F><02><05><05>5<>c<EFBFBD>9<>'<27>A<>G<EFBFBD>K<EFBFBD><18><1A>3<EFBFBD><<3C><07>'<27>G<EFBFBD>C<EFBFBD>L<EFBFBD>Q<>G<EFBFBD>O<EFBFBD> <12>9<EFBFBD>9<EFBFBD>r"c<00>*<00> t|<00>y#YyxYw)NTF)<01>float)<01>xs r rUrU=s<00><00><15> <0A>a<EFBFBD><08><13><><15><14>s<00> <00>c<00><><00>d}d}||z
|z}||z
|z}tj||<04>dztjz }tj||<06>dztjz } | |z
S)Ng<00><><EFBFBD>@i<>-r4)r7<00>arctan2rB)
rrrr<00>w<>h<>w2<77>h2<68>a1<61>a2s
r <00>
calc_thetar<EFBFBD>Dsj<00><00><0F>A<EFBFBD> <0A>A<EFBFBD>
<EFBFBD>S<EFBFBD><17>3<EFBFBD><1D>B<EFBFBD>
<EFBFBD>S<EFBFBD><17>3<EFBFBD><1D>B<EFBFBD> <0B><1A><1A>A<EFBFBD>a<EFBFBD><1F><13> <1C>R<EFBFBD>U<EFBFBD>U<EFBFBD> "<22>B<EFBFBD> <0B><1A><1A>B<EFBFBD>r<EFBFBD> <1A>3<EFBFBD> <1E>r<EFBFBD>u<EFBFBD>u<EFBFBD> $<24>B<EFBFBD> <0A>b<EFBFBD>5<EFBFBD>Lr"c<00>6<00>||z
dz |z}||z
dz |z}||fS)Nr-<00>)rrrr<00>MCX<43>MCYs r <00> calc_centerr<72>Ls-<00><00> <0E>s<EFBFBD>7<EFBFBD>A<EFBFBD>+<2B>c<EFBFBD>/<2F>C<EFBFBD> <0E>s<EFBFBD>7<EFBFBD>A<EFBFBD>+<2B>c<EFBFBD>/<2F>C<EFBFBD> <0E>s<EFBFBD>7<EFBFBD>Nr"c<00>f<00>dtj|dz tjzdz <00>zdzS)Nr-r4g<><67><EFBFBD>KWr<57>@)r7<00>sinrB)<01>angles r <00> angle2offsetr<74>Ps,<00><00> <0C>R<EFBFBD>V<EFBFBD>V<EFBFBD>E<EFBFBD>!<21>G<EFBFBD>B<EFBFBD>E<EFBFBD>E<EFBFBD>M<EFBFBD>#<23>%<25> &<26> &<26>y<EFBFBD> 0<>0r"c <00><><00>|j|jk7r td<01><00>tj||<01>}|dtj|d|dz<00>z }tjd|z<00>}tjd|z
<00>} t d |dz| dz|d<07>|<05><01>}
tj|d<00>|z} tj |<00>} tj|d<00>|z} tj |<01>}tj<00>jd<08>j| | <0A>j| |<0E>}|
j||jz<00>|j|
<EFBFBD>S)
a<EFBFBD>
Create a plot of the covariance confidence ellipse of *x* and *y*.
Parameters
----------
x, y : array-like, shape (n, )
Input data.
ax : matplotlib.axes.Axes
The axes object to draw the ellipse into.
n_std : float
The number of standard deviations to determine the ellipse's radiuses.
**kwargs
Forwarded to `~matplotlib.patches.Ellipse`
Returns
-------
matplotlib.patches.Ellipse
zx and y must be the same size)rr <00>rr)r r r r-)<03>width<74>height<68> facecolor<6F>-)r<>)<0F>size<7A>
ValueErrorr7<00>cov<6F>sqrtrr<><00>
transforms<EFBFBD>Affine2D<32>
rotate_deg<EFBFBD>scale<6C> translate<74> set_transform<72> transData<74> add_patch)r<><00>y<>ax<61>n_stdr<64><00>kwargsr<73><00>pearson<6F> ell_radius_x<5F> ell_radius_y<5F>ellipse<73>scale_x<5F>mean_x<5F>scale_y<5F>mean_y<5F>transfs r <00>confidence_ellipser<65>TsG<00><00>" <09>v<EFBFBD>v<EFBFBD><11><16><16><17><18>8<>9<>9<>
<0C>&<26>&<26><11>A<EFBFBD>,<2C>C<EFBFBD><11>$<24>i<EFBFBD><02><07><07><03>D<EFBFBD> <09>C<EFBFBD><04>I<EFBFBD> 5<>6<>6<>G<EFBFBD><16>7<EFBFBD>7<EFBFBD>1<EFBFBD>w<EFBFBD>;<3B>'<27>L<EFBFBD><15>7<EFBFBD>7<EFBFBD>1<EFBFBD>w<EFBFBD>;<3B>'<27>L<EFBFBD><15>5<>L<EFBFBD>1<EFBFBD>$4<>\<5C>A<EFBFBD>=M<> )<29>5<>-3<>5<>G<EFBFBD> <11>g<EFBFBD>g<EFBFBD>c<EFBFBD>$<24>i<EFBFBD> <20>5<EFBFBD>(<28>G<EFBFBD> <0F>W<EFBFBD>W<EFBFBD>Q<EFBFBD>Z<EFBFBD>F<EFBFBD><11>g<EFBFBD>g<EFBFBD>c<EFBFBD>$<24>i<EFBFBD> <20>5<EFBFBD>(<28>G<EFBFBD> <0F>W<EFBFBD>W<EFBFBD>Q<EFBFBD>Z<EFBFBD>F<EFBFBD> <17> <20> <20> "<22> <13><1A>B<EFBFBD><1E> <0E><15>w<EFBFBD><07> <20> <12><19>6<EFBFBD>6<EFBFBD> "<22> <0B>
 <0C><19><19>&<26>2<EFBFBD><<3C><<3C>/<2F>0<> <0A><<3C><<3C><07> <20> r"c
<00> <00>tjddtjzd<03>}d}|tj|<02>z}|tj|<02>z}d}|tj|<02>z}|tj|<02>z}d} | tj|<02>z}
| tj|<02>z} t j dd<02>\} } | djdd<07> <09>| djdd<07> <09>|d
j<00>j|d j<00>j}}| dj||d <0C> <0A>|j<00>jD]Z}| dj||j|d
f|j|d ff|j|d
f|j|d ffd<0E><0F><00>\| dj|
| dd<11><12>| dj||dd<14><12>| dj||dd<16><12>t!||| ddddd<19><1A>t!||| dddddd<1D><1E>t!||| dd ddd d!<21><1E>| dj#d"<22>| dj%d"<22>| dj'|<01>d#<23><02>| dj)<00>| djdd<07> <09>| djdd<07> <09>|d$j<00>j|d%j<00>j}}| dj||d <0C> <0A>|j<00>jD]Z}| dj||j|d$f|j|d%ff|j|d$f|j|d%ffd<0E><0F><00>\| dj|
| dd<11><12>| dj||dd<14><12>| dj||dd<16><12>t!||| ddddd<19><1A>t!||| dddddd<1D><1E>t!||| dd ddd d!<21><1E>| dj#d"<22>| dj%d"<22>| dj'|<01>d&<26><02>| dj)<00>t j*<00>y)'Nrr-<00>dgu<67>V<0E>?g<>O<EFBFBD><4F>n<12>?皙<><E79A99><EFBFBD><EFBFBD><EFBFBD>?r <00>grey)<02>c<>lwrrrl)<01>s<>k<><03>xy<78>xytext<78>color<6F>rz$3\sigma$ 1.6um)r<><00>label<65>bz$2\sigma$ 1.067um<EFBFBD>gz$1\sigma$ 0.533umg<00>?z $1\sigma$<24> firebrick)r<><00> linewidthr<68><00> edgecolorz $2\sigma$<24>fuchsiaz--)r<>r<>r<>r<><00> linestylez $3\sigma$<24>orange<67>-.)<02><><EFBFBD><EFBFBD><EFBFBD>rlu Die1 Mark1 $3\sigma$分布rru Mark4 $3\sigma$分布)r7<00>linspacerB<00>cosr<73><00>plt<6C>subplots<74>axvline<6E>axhline<6E>dropnar<00>scatterr <00>annotater}<00>plotr<74><00>set_xlim<69>set_ylim<69> set_title<6C>legend<6E>show)r<00>Data_ID<49>theta<74>radius1r<31><00>b1<62>radius2r<32><00>b2<62>radius3<73>a3<61>b3<62>fig<69>ax_nstd<74>x1<78>y1rc<00>x2<78>y2s r <00>
plt_3sigmar<00>s<><00><00> <0E>K<EFBFBD>K<EFBFBD><01>1<EFBFBD>R<EFBFBD>U<EFBFBD>U<EFBFBD>7<EFBFBD>C<EFBFBD> (<28>E<EFBFBD><13>G<EFBFBD> <10><12><16><16><05><1D> <1E>B<EFBFBD> <10><12><16><16><05><1D> <1E>B<EFBFBD><13>G<EFBFBD> <10><12><16><16><05><1D> <1E>B<EFBFBD> <10><12><16><16><05><1D> <1E>B<EFBFBD><11>G<EFBFBD> <10><12><16><16><05><1D> <1E>B<EFBFBD> <10><12><16><16><05><1D> <1E>B<EFBFBD><16><<3C><<3C><01>!<21>$<24>L<EFBFBD>C<EFBFBD><17> <0B>A<EFBFBD>J<EFBFBD><16><16><16>A<EFBFBD><16>&<26> <0B>A<EFBFBD>J<EFBFBD><16><16><16>A<EFBFBD><16>&<26> <16>u<EFBFBD> <1D> $<24> $<24> &<26> -<2D> -<2D>i<EFBFBD><05>.><3E>.E<>.E<>.G<>.N<>.N<><02>B<EFBFBD> <0B>A<EFBFBD>J<EFBFBD><16><16>r<EFBFBD>2<EFBFBD><11><16>#<23> <16> <1D> <1D> <1F> %<25> %<25><1F><01><0F><01>
<EFBFBD><1B><1B>A<EFBFBD>9<EFBFBD>=<3D>=<3D><11>5<EFBFBD><17>#9<>)<29>-<2D>-<2D><01>%<25><07>:P<>"Q<>%<25>M<EFBFBD>M<EFBFBD>!<21>E<EFBFBD>'<27>2<>9<EFBFBD>=<3D>=<3D><11>5<EFBFBD><17>3I<33>J<><1D> <1C> <1F><1F> <0C>A<EFBFBD>J<EFBFBD>O<EFBFBD>O<EFBFBD>B<EFBFBD>r<EFBFBD><03>*<<3C>O<EFBFBD>=<3D> <0B>A<EFBFBD>J<EFBFBD>O<EFBFBD>O<EFBFBD>B<EFBFBD>r<EFBFBD><03>*><3E>O<EFBFBD>?<3F> <0B>A<EFBFBD>J<EFBFBD>O<EFBFBD>O<EFBFBD>B<EFBFBD>r<EFBFBD><03>*><3E>O<EFBFBD>?<3F><16>r<EFBFBD>2<EFBFBD>w<EFBFBD>q<EFBFBD>z<EFBFBD><11>c<EFBFBD>)<29>[<5B>B<01><16>r<EFBFBD>2<EFBFBD>w<EFBFBD>q<EFBFBD>z<EFBFBD><11>a<EFBFBD>)<29>Y<EFBFBD>$<24>P<01><16>r<EFBFBD>2<EFBFBD>w<EFBFBD>q<EFBFBD>z<EFBFBD><11>a<EFBFBD>)<29>X<EFBFBD><14>O<01> <0B>A<EFBFBD>J<EFBFBD><17><17><06><1F> <0B>A<EFBFBD>J<EFBFBD><17><17><06><1F> <0B>A<EFBFBD>J<EFBFBD><18><18>W<EFBFBD>I<EFBFBD>%@<40>A<>B<> <0B>A<EFBFBD>J<EFBFBD><15><15><17> <0C>A<EFBFBD>J<EFBFBD><16><16><16>A<EFBFBD><16>&<26> <0B>A<EFBFBD>J<EFBFBD><16><16><16>A<EFBFBD><16>&<26> <16>u<EFBFBD> <1D> $<24> $<24> &<26> -<2D> -<2D>i<EFBFBD><05>.><3E>.E<>.E<>.G<>.N<>.N<><02>B<EFBFBD> <0B>A<EFBFBD>J<EFBFBD><16><16>r<EFBFBD>2<EFBFBD><11><16>#<23> <16> <1D> <1D> <1F> %<25> %<25>)<29><01><0F><01>
<EFBFBD><1B><1B>A<EFBFBD>9<EFBFBD>=<3D>=<3D><11>5<EFBFBD><17>#9<>)<29>-<2D>-<2D><01>%<25><07>:P<>"Q<>&/<2F>m<EFBFBD>m<EFBFBD>A<EFBFBD>e<EFBFBD>G<EFBFBD>&<<3C>Y<EFBFBD>]<5D>]<5D>1<EFBFBD>U<EFBFBD>7<EFBFBD>=S<>%T<>$'<27> <1C> )<29>)<29> <0C>A<EFBFBD>J<EFBFBD>O<EFBFBD>O<EFBFBD>B<EFBFBD>r<EFBFBD><03>*<<3C>O<EFBFBD>=<3D> <0B>A<EFBFBD>J<EFBFBD>O<EFBFBD>O<EFBFBD>B<EFBFBD>r<EFBFBD><03>*><3E>O<EFBFBD>?<3F> <0B>A<EFBFBD>J<EFBFBD>O<EFBFBD>O<EFBFBD>B<EFBFBD>r<EFBFBD><03>*><3E>O<EFBFBD>?<3F><16>r<EFBFBD>2<EFBFBD>w<EFBFBD>q<EFBFBD>z<EFBFBD><11>c<EFBFBD>)<29>[<5B>B<01><16>r<EFBFBD>2<EFBFBD>w<EFBFBD>q<EFBFBD>z<EFBFBD><11>a<EFBFBD>)<29>Y<EFBFBD>$<24>P<01><16>r<EFBFBD>2<EFBFBD>w<EFBFBD>q<EFBFBD>z<EFBFBD><11>a<EFBFBD>)<29>X<EFBFBD><14>O<01> <0B>A<EFBFBD>J<EFBFBD><17><17><06><1F> <0B>A<EFBFBD>J<EFBFBD><17><17><06><1F> <0B>A<EFBFBD>J<EFBFBD><18><18>W<EFBFBD>I<EFBFBD>%;<3B><<3C>=<3D> <0B>A<EFBFBD>J<EFBFBD><15><15><17><07>H<EFBFBD>H<EFBFBD>Jr"c <00><> <00>tjdd<01>\}}|D<00>cgc]}|<04><02>}}|ddj|j||dddddddd <09>
<EFBFBD> |ddjj t d<07><00>|ddjj t d <0B><00>|ddj|d<00>|ddj|j||d ddddddd <0A>
<EFBFBD> |ddjj t d<07><00>|ddjj t d <0B><00>|ddj|d <00>|dd j|j||dddddddd<0F>
<EFBFBD> |dd jj t d<07><00>|dd jj t d<10><00>|dd jd<11>|ddj|j||dddddddd<0F>
<EFBFBD> |ddjj t d<07><00>|ddjj t d <0B><00>|ddj|d<00>|ddj|j||dddddddd<12>
<EFBFBD> |ddjj t d<07><00>|ddjj t d <0B><00>|ddj|d<00>|dd j|j|ddddddddd<14><15>
|dd j|j|ddddddddd<17><15>
|dd jj t d<07><00>|dd jj t d <0B><00>|dd jd<18>|dd j<00>|d dj|j||dddddddd<0F>
<EFBFBD> |d djdddd<1D><1E>|d djj t d<07><00>|d djj t d <0B><00>|d dj|d<00>|d dj<00>|d dj|j||dddddddd<0F>
<EFBFBD> |d djdddd<1D><1E>|d djj t d<07><00>|d djj t d <0B><00>|d dj|d<00>|d dj<00>|d d j|j|d ddddddd<0F>
<EFBFBD> |d d jdddd<1D><1E>|d d jj t d<07><00>|d d jj t d <0B><00>|d d jd!<21>|d d j<00>tj|<01>d"<22><02>|j<00>tj<00>ycc}w)#Nrlr<00>-r <00> steelblue<75>ors<00>black<63>brown)r<>r<>r<><00>marker<65>
markersize<EFBFBD>markeredgecolor<6F>markerfacecolorr5r-r<>rn<00>mg<6D>~j<>t<EFBFBD>X?u 偏转角度r<E5BAA6>r<>r<>)r<>r<>r<>r<>r r r rr<>r<>uMark中心偏移XYr<59>r<>r<>r<>z Length:1.6um)r<><00>lsr<73><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MCLuMark中心偏移MCLu:贴片数据)r<>r<>r<>r <00>xaxis<69>set_major_locatorr<00>yaxisr<73>r<>r<><00>suptitle<6C> tight_layoutr<74>)<06>plt_data<74>namer<65>r<>rc<00>keyss r rr<00>sf<00><00><11>l<EFBFBD>l<EFBFBD>1<EFBFBD>Q<EFBFBD><1F>G<EFBFBD>C<EFBFBD><12><1F> <20>!<21>A<EFBFBD> <20>D<EFBFBD> <20><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>M<EFBFBD>M<EFBFBD>(<28>.<2E>.<2E>(<28>4<EFBFBD><01>7<EFBFBD>"3<>3<EFBFBD><1A>K<EFBFBD><19><11>$<24>$<24> <12>&<26>
<07>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>Q<EFBFBD>%7<>8<><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>S<EFBFBD>%9<>:<3A><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD><16><16>t<EFBFBD>A<EFBFBD>w<EFBFBD><1F><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>M<EFBFBD>M<EFBFBD>(<28>.<2E>.<2E>(<28>4<EFBFBD><01>7<EFBFBD>"3<>3<EFBFBD>TU<54>_j<5F><19><11>G<EFBFBD>VY<56><12>[<01><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>Q<EFBFBD>%7<>8<><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>S<EFBFBD>%9<>:<3A><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD><16><16>t<EFBFBD>A<EFBFBD>w<EFBFBD><1F><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>M<EFBFBD>M<EFBFBD>(<28>.<2E>.<2E>(<28>4<EFBFBD><01>7<EFBFBD>"3<>3<EFBFBD>TU<54>_j<5F><19><11>G<EFBFBD>VY<56><12>[<01><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>Q<EFBFBD>%7<>8<><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>V<EFBFBD>%<<3C>=<3D><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD><16><16>~<7E>&<26><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>M<EFBFBD>M<EFBFBD>(<28>.<2E>.<2E>(<28>4<EFBFBD><01>7<EFBFBD>"3<>3<EFBFBD>TU<54>_j<5F><19><11>G<EFBFBD>VY<56><12>[<01><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>Q<EFBFBD>%7<>8<><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>S<EFBFBD>%9<>:<3A><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD><16><16>t<EFBFBD>A<EFBFBD>w<EFBFBD><1F><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>M<EFBFBD>M<EFBFBD>(<28>.<2E>.<2E>(<28>4<EFBFBD><01>7<EFBFBD>"3<>3<EFBFBD>TU<54>_j<5F><19><11>G<EFBFBD>VY<56><12>[<01><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>Q<EFBFBD>%7<>8<><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>S<EFBFBD>%9<>:<3A><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD><16><16>t<EFBFBD>A<EFBFBD>w<EFBFBD><1F><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>M<EFBFBD>M<EFBFBD>(<28>.<2E>.<2E>(<28>5<EFBFBD>/<2F><13>RS<52>]h<>pu<70><19><11>G<EFBFBD>VY<56><12>[<01><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>M<EFBFBD>M<EFBFBD>(<28>.<2E>.<2E>(<28>5<EFBFBD>/<2F><13>RS<52>]h<>pu<70><19><11>G<EFBFBD>VY<56><12>[<01><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>Q<EFBFBD>%7<>8<><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>S<EFBFBD>%9<>:<3A><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD><16><16>+<2B>,<2C><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>O<EFBFBD>O<EFBFBD><15><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>M<EFBFBD>M<EFBFBD>(<28>.<2E>.<2E>(<28>4<EFBFBD><02>8<EFBFBD>"4<>C<EFBFBD>UV<55>`k<><19><11>G<EFBFBD>VY<56><12>[<01><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD><14><14>S<EFBFBD>8<EFBFBD>t<EFBFBD>.<2E><14>A<><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>Q<EFBFBD>%7<>8<><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>S<EFBFBD>%9<>:<3A><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD><16><16>t<EFBFBD>B<EFBFBD>x<EFBFBD> <20><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>O<EFBFBD>O<EFBFBD><15><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>M<EFBFBD>M<EFBFBD>(<28>.<2E>.<2E>(<28>4<EFBFBD><02>8<EFBFBD>"4<>C<EFBFBD>UV<55>`k<><19><11>G<EFBFBD>VY<56><12>[<01><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD><14><14>S<EFBFBD>8<EFBFBD>t<EFBFBD>.<2E><14>A<><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>Q<EFBFBD>%7<>8<><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>S<EFBFBD>%9<>:<3A><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD><16><16>t<EFBFBD>B<EFBFBD>x<EFBFBD> <20><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>O<EFBFBD>O<EFBFBD><15><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>M<EFBFBD>M<EFBFBD>(<28>.<2E>.<2E>(<28>5<EFBFBD>/<2F><13>RS<52>]h<><19><11>G<EFBFBD>VY<56><12>[<01><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD><14><14>S<EFBFBD>8<EFBFBD>t<EFBFBD>.<2E><14>A<><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>Q<EFBFBD>%7<>8<><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>N<EFBFBD>N<EFBFBD>$<24>$<24>_<EFBFBD>S<EFBFBD>%9<>:<3A><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD><16><16>,<2C>-<2D><06>q<EFBFBD>E<EFBFBD>!<21>H<EFBFBD>O<EFBFBD>O<EFBFBD><15><08>L<EFBFBD>L<EFBFBD>D<EFBFBD>6<EFBFBD><1F>)<29>*<2A><07><14><14><16><07>H<EFBFBD>H<EFBFBD>J<EFBFBD><4A>O !s<00> Z=c<00><><00>tjgd<01><01><02>}d}tt|<00><00>D]<5D>}tt ||d<00><00>D]f}t ||d<00>t |d<00>z
|z}t ||d<00> |z
t |d<00>z|z}|dz}|||g|j |dz
<<00>h<00><>|djt<00>|d<|jd<06>} | S)u<>
:param data_list: 如['mark1','mark2','mark3','mark4']
:param gap1: die位置间隔设置即每个矩形的间隔设置
:param new_origin: 原点位置设定
:return:
)<03> 芯片号<E78987>P_X<5F>P_Y)r
rr-r r) r>r?r<><00>lenrr<>r}rr~)
<EFBFBD> data_list<73>gap1<70>
new_origin<EFBFBD>df_empty<74> Die_countrc<00>j<> x_coordinate<74> y_coordinate<74>
wafer_datas
r <00>wafer_data_maker)s<><00><00><12>|<7C>|<7C>$?<3F>@<40>H<EFBFBD><11>I<EFBFBD> <12>3<EFBFBD>y<EFBFBD>><3E> "<22>R<01><01><16>s<EFBFBD>9<EFBFBD>Q<EFBFBD><<3C><01>?<3F>+<2B>,<2C> R<01>A<EFBFBD><1F> <09>!<21> <0C>Q<EFBFBD><0F>0<>5<EFBFBD><1A>A<EFBFBD><1D>3G<33>G<>4<EFBFBD>O<>L<EFBFBD> <20><19>1<EFBFBD><1C>a<EFBFBD><1F>1<>1<>A<EFBFBD>5<><05>j<EFBFBD><11>m<EFBFBD>8L<38>L<>PT<50>T<>L<EFBFBD>!<21>A<EFBFBD> <0A>I<EFBFBD>+4<>l<EFBFBD>L<EFBFBD>*Q<>H<EFBFBD>L<EFBFBD>L<EFBFBD><19>Q<EFBFBD><1D> '<27>  R<01>R<01>%<25>[<5B>1<>8<>8<><13>=<3D>H<EFBFBD>[<5B><19><19>#<23>#<23>K<EFBFBD>0<>J<EFBFBD> <15>r"c
<00>F<00>tj<00>|d}|d}d}d}tj|d|z
|d|z|d|d|dd d
d <0B> <0C>tj|d|z|d|z
|d |d|dd d
d <0B> <0C>|jD]<5D>}d}tj||j
|df|j
|dff|j
|dfdz
|j
|dfdz
f|<08><11>tj |j
|df|dz z
|j
|df|dz z
f||dd<0F><14>} tj<00>j| <09><00><>tj<00>tj|<02>d<15><02>tj<00>y)N<>M1L<31>M4L<34><4C>i<>rrrr<00>coolwarmr<6D><00>()<03>cmap<61>unitsr<73>rrr<><00>2r<>r-F)r<>r<>r<><00>fillr<6C>uLC:中心点偏移,L(左下):Mark1偏移,R(右上):Mark2偏移,(单位:um)) r<><00>figure<72>quiverr r<>r}<00> Rectangle<6C>gcar<61><00>colorbar<61>titler<65>)
<EFBFBD>V_data<74>data0r<00>L1<4C>L2<4C>gap<61>gap_recrcr<><00> rectangles
r <00>plt_VmaprA*s<><00><00><07>J<EFBFBD>J<EFBFBD>L<EFBFBD> <0F><05><1D>B<EFBFBD> <0F><05><1D>B<EFBFBD>
<0A>C<EFBFBD><11>G<EFBFBD><07>J<EFBFBD>J<EFBFBD>v<EFBFBD>e<EFBFBD>}<7D>s<EFBFBD>"<22>F<EFBFBD>5<EFBFBD>M<EFBFBD>C<EFBFBD>$7<><15>e<EFBFBD>}<7D>f<EFBFBD>U<EFBFBD>m<EFBFBD><15>e<EFBFBD>}<7D>:<3A>T<EFBFBD>"<22>F<01><08>J<EFBFBD>J<EFBFBD>v<EFBFBD>e<EFBFBD>}<7D>s<EFBFBD>"<22>F<EFBFBD>5<EFBFBD>M<EFBFBD>C<EFBFBD>$7<><15>e<EFBFBD>}<7D>f<EFBFBD>U<EFBFBD>m<EFBFBD><15>e<EFBFBD>}<7D>:<3A>T<EFBFBD>"<22>F<01><13>[<5B>[<5B>'<27><01><13><05> <0B> <0C> <0C>Q<EFBFBD>E<EFBFBD>I<EFBFBD>I<EFBFBD>a<EFBFBD><05>g<EFBFBD>.<2E>u<EFBFBD>y<EFBFBD>y<EFBFBD><11>5<EFBFBD><17>/A<>B<>"<22>Y<EFBFBD>Y<EFBFBD>q<EFBFBD><15>w<EFBFBD>/<2F><02>2<>5<EFBFBD>9<EFBFBD>9<EFBFBD>Q<EFBFBD>u<EFBFBD>W<EFBFBD>3E<33>b<EFBFBD>3H<33>I<> <20> "<22><18>M<EFBFBD>M<EFBFBD>e<EFBFBD>i<EFBFBD>i<EFBFBD><01>5<EFBFBD><08>&9<>G<EFBFBD>A<EFBFBD>I<EFBFBD>&E<>u<EFBFBD>y<EFBFBD>y<EFBFBD>QR<51>TY<54>QY<51>GZ<47>]d<>ef<65>]f<>Gf<47>%g<>ov<6F>)0<>u<EFBFBD>C<EFBFBD>I<01> <09> <0B><07><07> <09><1B><1B>I<EFBFBD>&<26>'<27>J<08>L<EFBFBD>L<EFBFBD>N<EFBFBD><07>I<EFBFBD>I<EFBFBD><14><06>b<>c<>d<><07>H<EFBFBD>H<EFBFBD>Jr"c <00><00>tj<00>|d}|d}tj|d|d|d|d|ddd <09>
<EFBFBD>d <0B>}|jD]<5D>}tj||j
|df|j
|dff|j
|df|j
|dffd <0C> <0A>t j||<00>st j||<00>r |||d <0C><00><>||dkr||dkr |||d<0F><00><>||dkr||dkr |||d<11><00><>||dkr||dkr |||d<13><00><>|||d<14><00><>tj<00>tj|<01>d<15><02>tj<00>y)Nr+r,rrr<>r<>rr.r<>)r0r1c
<00><><00>tjdtt|d|d<03><00>z|j|df|j|dff|j|dfdz
|j|dfdzf|<02><08>tjd tt|d
|d<03><00>z|j|df|j|dff|j|dfdz|j|dfdzf|<02><08>tjd tt|d |d<03><00>z|j|df|j|dff|j|dfdz
|j|dfdz
f|<02><08>tjd tt|j|dfd<0F><00>z|j|df|j|dff|j|dfdz|j|dfdz
f|<02><08>y)Nz$X$:r<>r-rr<00><>r2r<>z$C$:rz$Y$:r<>z $\theta$:<3A>M_Rr.)r<>r<><00>str<74>roundr})r:rcr<>s r <00> plt_annotatezplt_XYmap.<locals>.plt_annotatefs<><00><00> <0B> <0C> <0C>W<EFBFBD>s<EFBFBD>5<EFBFBD><16><05><1D>q<EFBFBD>)9<>!<21>#<<3C>=<3D>=<3D><1F><1A><1A>A<EFBFBD>e<EFBFBD>G<EFBFBD>,<2C>V<EFBFBD>Z<EFBFBD>Z<EFBFBD><01>%<25><07>-@<40>A<>#<23>Z<EFBFBD>Z<EFBFBD><01>%<25><07>0<><13>4<>V<EFBFBD>Z<EFBFBD>Z<EFBFBD><01>%<25><07>5H<35><12>5K<35>L<> <20> "<22>
<0C> <0C> <0C>W<EFBFBD>s<EFBFBD>5<EFBFBD><16><05><1D>q<EFBFBD>)9<>!<21>#<<3C>=<3D>=<3D><1F><1A><1A>A<EFBFBD>e<EFBFBD>G<EFBFBD>,<2C>V<EFBFBD>Z<EFBFBD>Z<EFBFBD><01>%<25><07>-@<40>A<>#<23>Z<EFBFBD>Z<EFBFBD><01>%<25><07>0<><12>3<>F<EFBFBD>J<EFBFBD>J<EFBFBD>q<EFBFBD><15>w<EFBFBD>4G<34><02>4J<34>K<> <20> "<22>
<0C> <0C> <0C>W<EFBFBD>s<EFBFBD>5<EFBFBD><16><05><1D>q<EFBFBD>)9<>!<21>#<<3C>=<3D>=<3D><1F><1A><1A>A<EFBFBD>e<EFBFBD>G<EFBFBD>,<2C>V<EFBFBD>Z<EFBFBD>Z<EFBFBD><01>%<25><07>-@<40>A<>#<23>Z<EFBFBD>Z<EFBFBD><01>%<25><07>0<><13>4<>V<EFBFBD>Z<EFBFBD>Z<EFBFBD><01>%<25><07>5H<35><12>5K<35>L<> <20> "<22>
<0C> <0C> <0C>\<5C>C<EFBFBD><05>f<EFBFBD>j<EFBFBD>j<EFBFBD><11>5<EFBFBD><17>.A<>!<21>(D<>$E<>E<><1F><1A><1A>A<EFBFBD>e<EFBFBD>G<EFBFBD>,<2C>V<EFBFBD>Z<EFBFBD>Z<EFBFBD><01>%<25><07>-@<40>A<>#<23>Z<EFBFBD>Z<EFBFBD><01>%<25><07>0<><12>3<>F<EFBFBD>J<EFBFBD>J<EFBFBD>q<EFBFBD><15>w<EFBFBD>4G<34><02>4J<34>K<> <20> "r"r<>r<>g9<67><39>v<EFBFBD><76><EFBFBD>?r<>g<14>G<EFBFBD>z<14>?r<>r<>r<>r<>uLC:中心点偏移矢量,X:中心点X偏移,Y:中心点Y偏移,(单位:um)) r<>r4r5r r<>r}r7<00>isnanr8r9r<>)r:rr<r=rHrcs r <00> plt_XYmaprJ`s~<00><00><07>J<EFBFBD>J<EFBFBD>L<EFBFBD> <0F><05><1D>B<EFBFBD> <0F><05><1D>B<EFBFBD><07>J<EFBFBD>J<EFBFBD>v<EFBFBD>e<EFBFBD>}<7D>V<EFBFBD>E<EFBFBD>]<5D>6<EFBFBD>%<25>=<3D><16><05><1D><15>e<EFBFBD>}<7D>:<3A>T<EFBFBD>;<3B>"<22>*<14>\<5C>\<5C>'<27><01> <0B> <0C> <0C>Q<EFBFBD>F<EFBFBD>J<EFBFBD>J<EFBFBD>q<EFBFBD><15>w<EFBFBD>/<2F><06>
<EFBFBD>
<EFBFBD>1<EFBFBD>U<EFBFBD>7<EFBFBD>0C<EFBFBD>D<>#<23>Z<EFBFBD>Z<EFBFBD><01>%<25><07>0<><16><1A><1A>A<EFBFBD>e<EFBFBD>G<EFBFBD>1D<31>E<><1E> <20> <0E>8<EFBFBD>8<EFBFBD>B<EFBFBD>q<EFBFBD>E<EFBFBD>?<3F>b<EFBFBD>h<EFBFBD>h<EFBFBD>r<EFBFBD>!<21>u<EFBFBD>o<EFBFBD> <18><16><01>#<23> &<26> <0F><01>U<EFBFBD>E<EFBFBD>\<5C>b<EFBFBD><11>e<EFBFBD>U<EFBFBD>l<EFBFBD> <18><16><01>(<28> +<2B> <0F><01>U<EFBFBD>D<EFBFBD>[<5B>R<EFBFBD><01>U<EFBFBD>D<EFBFBD>[<5B> <18><16><01>#<23> &<26> <0F><01>U<EFBFBD>C<EFBFBD>Z<EFBFBD>B<EFBFBD>q<EFBFBD>E<EFBFBD>3<EFBFBD>J<EFBFBD> <18><16><01>#<23> &<26> <19><16><01>#<23> &<26>#'<27>*<08>L<EFBFBD>L<EFBFBD>N<EFBFBD><07>I<EFBFBD>I<EFBFBD><14><06>b<>c<>d<><07>H<EFBFBD>H<EFBFBD>Jr")g@<40>none)&<26>numpyr7<00>pandasr><00> scipy.linalgr9<00>sl<73>matplotlib.pyplot<6F>pyplotr<74>rr<00>matplotlib.patchesr<00>matplotlib.transformsr<73>rx<00>rcParams<6D>
set_optionr!rIr\rdr<>r<>r<>rr<>rUr<>r<>r<>r<>rrr)rArJr<>r"r <00><module>rVs<><00><01><12><13><19><1F>A<>&<26>*<2A> <09>'<27>j<EFBFBD><03> <0C> <0C>]<5D><1B>%*<2A><03> <0C> <0C> !<21>"<22> <0A><02> <0A> <0A>#<23>T<EFBFBD>*<2A> <0A><02> <0A> <0A> <20>$<24>'<27>=<3D>"d<1C>N <16>%<25> 5<15>n3<15>h(<15>T<12> <15><15><11><13>1<>-!<21>^B<0F>HI<0F>X<16>.3<0F>l2r"