Files
ZKFC_ACC/000补偿值计算/.ipynb_checkpoints/Wafer数据计算-Copy1-旧版-checkpoint.ipynb

2551 lines
2.2 MiB
Plaintext
Raw Normal View History

2025-11-23 20:43:12 +08:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "ad8424f1-4fd8-4f68-9557-f560d5a28e4b",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import sys\n",
"import os\n",
"sys.path.append('..')\n",
"from QX8800SP_DA import *\n",
"plt.rcParams['font.family'] = ['SimHei'] # 用来正常显示中文标签\n",
"plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号\n",
"pd.set_option('display.max_columns', None) #显示所有列,把行显示设置成最大\n",
"pd.set_option('display.max_rows', None) #显示所有行,把列显示设置成最大\n",
"#交互式绘图\n",
"%matplotlib widget"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "ccb60f92-e657-4732-a679-6ca67bfcf201",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"#写入TotalData\n",
"TotalData1 = pd.read_excel('../Die1AllData.xlsx',sheet_name=None,header=0,index_col = 0)\n",
"TotalData2 = pd.read_excel('../Die2AllData.xlsx',sheet_name=None,header=0,index_col = 0)\n",
"TotalData3 = pd.read_excel('../Die3AllData.xlsx',sheet_name=None,header=0,index_col = 0)\n",
"TotalData4 = pd.read_excel('../Die4AllData.xlsx',sheet_name=None,header=0,index_col = 0)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "529ce324-bb6e-4833-b3c7-c410b12903b0",
"metadata": {},
"outputs": [],
"source": [
"wafer_num = -3\n",
"wafer_name = '11.15.1'"
]
},
{
"cell_type": "markdown",
"id": "8f9078d7",
"metadata": {},
"source": [
"## 对位Mark"
]
},
{
"cell_type": "markdown",
"id": "31b36a67",
"metadata": {},
"source": [
"### 对位MarkX"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "1f15ce7d-9c0e-4ea4-a1ca-da8cd15f6ee7",
"metadata": {},
"outputs": [],
"source": [
"index1_87 = np.arange(1,88,1)\n",
"AlignMarkX1 = TotalData1['MCX'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:]\n",
"AlignMarkX2 = TotalData2['MCX'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:]\n",
"AlignMarkX3 = TotalData3['MCX'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:]\n",
"AlignMarkX4 = TotalData4['MCX'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:]"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "0de8fc5c-756e-4510-be7e-d5ed06e6a287",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"count 76.000000\n",
"mean 0.162068\n",
"std 0.149321\n",
"min -0.292833\n",
"25% 0.070792\n",
"50% 0.153750\n",
"75% 0.231750\n",
"max 0.599000\n",
"range 0.891833\n",
"3sigma 0.447963\n",
"dtype: float64"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"describe_3s(AlignMarkX1).mean(axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "b91003c8-aa31-442f-b843-f86ae5b778d2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"count 72.666667\n",
"mean 0.129939\n",
"std 0.163968\n",
"min -0.200167\n",
"25% 0.020333\n",
"50% 0.107417\n",
"75% 0.238000\n",
"max 0.664000\n",
"range 0.864167\n",
"3sigma 0.491905\n",
"dtype: float64"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"describe_3s(AlignMarkX2).mean(axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "e3460de8-3d73-44d0-9749-0c173a6e3702",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"count 78.000000\n",
"mean 0.026485\n",
"std 0.251459\n",
"min -0.637333\n",
"25% -0.116083\n",
"50% 0.068333\n",
"75% 0.187667\n",
"max 0.576500\n",
"range 1.213833\n",
"3sigma 0.754378\n",
"dtype: float64"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"describe_3s(AlignMarkX3).mean(axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "fc0c884e-02fb-4d5b-b906-37510eee021b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"count 76.666667\n",
"mean 0.178887\n",
"std 0.247650\n",
"min -0.357333\n",
"25% 0.010333\n",
"50% 0.167417\n",
"75% 0.338292\n",
"max 0.947833\n",
"range 1.305167\n",
"3sigma 0.742949\n",
"dtype: float64"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"describe_3s(AlignMarkX4).mean(axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "f5c34355-9eec-494f-9bd3-9a5cc80b4758",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>12.05.1-Die1</th>\n",
" <th>12.06.1-Die1</th>\n",
" <th>12.06.2-Die1</th>\n",
" <th>12.05.1-Die2</th>\n",
" <th>12.06.1-Die2</th>\n",
" <th>12.06.2-Die2</th>\n",
" <th>12.05.1-Die3</th>\n",
" <th>12.06.1-Die3</th>\n",
" <th>12.06.2-Die3</th>\n",
" <th>12.05.1-Die4</th>\n",
" <th>12.06.1-Die4</th>\n",
" <th>12.06.2-Die4</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>76.000000</td>\n",
" <td>76.000000</td>\n",
" <td>76.000000</td>\n",
" <td>74.000000</td>\n",
" <td>73.000000</td>\n",
" <td>71.000000</td>\n",
" <td>78.000000</td>\n",
" <td>78.000000</td>\n",
" <td>78.000000</td>\n",
" <td>76.000000</td>\n",
" <td>77.000000</td>\n",
" <td>77.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>-0.017204</td>\n",
" <td>0.305875</td>\n",
" <td>0.197533</td>\n",
" <td>0.009507</td>\n",
" <td>0.290205</td>\n",
" <td>0.090106</td>\n",
" <td>-0.246353</td>\n",
" <td>0.248327</td>\n",
" <td>0.077481</td>\n",
" <td>0.059454</td>\n",
" <td>0.301786</td>\n",
" <td>0.175422</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.164510</td>\n",
" <td>0.159634</td>\n",
" <td>0.123819</td>\n",
" <td>0.178233</td>\n",
" <td>0.152441</td>\n",
" <td>0.161231</td>\n",
" <td>0.216543</td>\n",
" <td>0.281742</td>\n",
" <td>0.256093</td>\n",
" <td>0.183457</td>\n",
" <td>0.301422</td>\n",
" <td>0.258070</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>-0.485000</td>\n",
" <td>-0.365000</td>\n",
" <td>-0.028500</td>\n",
" <td>-0.415500</td>\n",
" <td>0.024000</td>\n",
" <td>-0.209000</td>\n",
" <td>-0.739500</td>\n",
" <td>-0.438500</td>\n",
" <td>-0.734000</td>\n",
" <td>-0.311000</td>\n",
" <td>-0.366500</td>\n",
" <td>-0.394500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>-0.105500</td>\n",
" <td>0.210125</td>\n",
" <td>0.107750</td>\n",
" <td>-0.093250</td>\n",
" <td>0.157500</td>\n",
" <td>-0.003250</td>\n",
" <td>-0.368375</td>\n",
" <td>0.054000</td>\n",
" <td>-0.033875</td>\n",
" <td>-0.053000</td>\n",
" <td>0.073000</td>\n",
" <td>0.011000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>-0.040250</td>\n",
" <td>0.318000</td>\n",
" <td>0.183500</td>\n",
" <td>-0.014750</td>\n",
" <td>0.272000</td>\n",
" <td>0.065000</td>\n",
" <td>-0.253250</td>\n",
" <td>0.322750</td>\n",
" <td>0.135500</td>\n",
" <td>0.033750</td>\n",
" <td>0.307500</td>\n",
" <td>0.161000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>0.055125</td>\n",
" <td>0.373375</td>\n",
" <td>0.266750</td>\n",
" <td>0.123500</td>\n",
" <td>0.412500</td>\n",
" <td>0.178000</td>\n",
" <td>-0.137375</td>\n",
" <td>0.454375</td>\n",
" <td>0.246000</td>\n",
" <td>0.147375</td>\n",
" <td>0.527000</td>\n",
" <td>0.340500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>0.477500</td>\n",
" <td>0.752500</td>\n",
" <td>0.567000</td>\n",
" <td>0.585500</td>\n",
" <td>0.624000</td>\n",
" <td>0.782500</td>\n",
" <td>0.396000</td>\n",
" <td>0.788000</td>\n",
" <td>0.545500</td>\n",
" <td>0.647500</td>\n",
" <td>0.958500</td>\n",
" <td>1.237500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>range</th>\n",
" <td>0.962500</td>\n",
" <td>1.117500</td>\n",
" <td>0.595500</td>\n",
" <td>1.001000</td>\n",
" <td>0.600000</td>\n",
" <td>0.991500</td>\n",
" <td>1.135500</td>\n",
" <td>1.226500</td>\n",
" <td>1.279500</td>\n",
" <td>0.958500</td>\n",
" <td>1.325000</td>\n",
" <td>1.632000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3sigma</th>\n",
" <td>0.493530</td>\n",
" <td>0.478903</td>\n",
" <td>0.371456</td>\n",
" <td>0.534698</td>\n",
" <td>0.457323</td>\n",
" <td>0.483694</td>\n",
" <td>0.649629</td>\n",
" <td>0.845225</td>\n",
" <td>0.768279</td>\n",
" <td>0.550370</td>\n",
" <td>0.904267</td>\n",
" <td>0.774211</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 12.05.1-Die1 12.06.1-Die1 12.06.2-Die1 12.05.1-Die2 12.06.1-Die2 \\\n",
"count 76.000000 76.000000 76.000000 74.000000 73.000000 \n",
"mean -0.017204 0.305875 0.197533 0.009507 0.290205 \n",
"std 0.164510 0.159634 0.123819 0.178233 0.152441 \n",
"min -0.485000 -0.365000 -0.028500 -0.415500 0.024000 \n",
"25% -0.105500 0.210125 0.107750 -0.093250 0.157500 \n",
"50% -0.040250 0.318000 0.183500 -0.014750 0.272000 \n",
"75% 0.055125 0.373375 0.266750 0.123500 0.412500 \n",
"max 0.477500 0.752500 0.567000 0.585500 0.624000 \n",
"range 0.962500 1.117500 0.595500 1.001000 0.600000 \n",
"3sigma 0.493530 0.478903 0.371456 0.534698 0.457323 \n",
"\n",
" 12.06.2-Die2 12.05.1-Die3 12.06.1-Die3 12.06.2-Die3 12.05.1-Die4 \\\n",
"count 71.000000 78.000000 78.000000 78.000000 76.000000 \n",
"mean 0.090106 -0.246353 0.248327 0.077481 0.059454 \n",
"std 0.161231 0.216543 0.281742 0.256093 0.183457 \n",
"min -0.209000 -0.739500 -0.438500 -0.734000 -0.311000 \n",
"25% -0.003250 -0.368375 0.054000 -0.033875 -0.053000 \n",
"50% 0.065000 -0.253250 0.322750 0.135500 0.033750 \n",
"75% 0.178000 -0.137375 0.454375 0.246000 0.147375 \n",
"max 0.782500 0.396000 0.788000 0.545500 0.647500 \n",
"range 0.991500 1.135500 1.226500 1.279500 0.958500 \n",
"3sigma 0.483694 0.649629 0.845225 0.768279 0.550370 \n",
"\n",
" 12.06.1-Die4 12.06.2-Die4 \n",
"count 77.000000 77.000000 \n",
"mean 0.301786 0.175422 \n",
"std 0.301422 0.258070 \n",
"min -0.366500 -0.394500 \n",
"25% 0.073000 0.011000 \n",
"50% 0.307500 0.161000 \n",
"75% 0.527000 0.340500 \n",
"max 0.958500 1.237500 \n",
"range 1.325000 1.632000 \n",
"3sigma 0.904267 0.774211 "
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"AlignMarkX = pd.concat([AlignMarkX1,AlignMarkX2,AlignMarkX3,AlignMarkX4],axis=1)\n",
"AXdescibe = describe_3s(AlignMarkX)\n",
"AXdescibe"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "56f1ad89-c919-4a7b-a5d4-b9be4ddaeb0d",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "9a83751b857b4350915d636511caf4df",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.subplot(221)\n",
"plt.plot(AlignMarkX1,marker='o')\n",
"sigmaX1 = round(AlignMarkX1.iloc[:,0].std()*3,4)\n",
"plt.title(f'Die1对位MarkX-3sigma:{sigmaX1}')\n",
"\n",
"plt.subplot(222)\n",
"plt.plot(AlignMarkX2,marker='o')\n",
"sigmaX2 = round(AlignMarkX2.iloc[:,0].std()*3,4)\n",
"plt.title(f'Die2对位MarkX-3sigma:{sigmaX2}')\n",
"\n",
"plt.subplot(223)\n",
"plt.plot(AlignMarkX3,marker='o')\n",
"sigmaX3 = round(AlignMarkX3.iloc[:,0].std()*3,4)\n",
"plt.title(f'Die3对位MarkX-3sigma:{sigmaX3}')\n",
"\n",
"plt.subplot(224)\n",
"plt.plot(AlignMarkX4,marker='o')\n",
"sigmaX4 = round(AlignMarkX4.iloc[:,0].std()*3,4)\n",
"plt.title(f'Die4对位MarkX-3sigma:{sigmaX4}')\n",
"\n",
"plt.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "5355743f",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "d42f724f56f44d72a098693607104530",
"version_major": 2,
"version_minor": 0
},
"image/png": "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hjwAq1QqtG3bFrt27YpJea699loIgoCjR4/C6/UCCDTxSktLw5o1a4rcb/z48WjSpEmB9D59+sBsNuP//u//AABZWVk4evQoevXqVWg+zZo1Q1paGnbv3o1mzZqFrGvZsiUaN26Ml156CcOGDUPv3r3h8/kKNJ9KSEjApEmTiizr/PnzsXbtWmRnZ+P06dNFbncpFixYgNq1a6NVq1Z47733yuQYREQVDQMQIqIYczgchfZPyM3Nhdvtjnp5FEXBzJkz0bdvX2RnZwc7kdepUwcPPfRQgbk9wqHRaNCtWzf8+uuvAALzhKjVanTu3LnQ7Zs0aQKPx4O//vqrQACyZMkSjBo1Ci6XC3fccQe+++471KpVq0AeTZs2vWi/HZvNhsWLF6Nfv3548cUXC93mwQcfxJ49ezBnzpxwTzUoKysLX3zxBe666y7cddddWLVqFY4cOVLifIiIKhsGIEREMXb06FHcddddOHjwYEjaxo0b0a5du6iX54MPPsCePXswffp0TJ8+He+//z62bdsGIFDDEW6flAt1794dGzZsgMvlwvr169G+ffsi5yvRarWoV68eABRogrV06VIMGjQIM2bMwPXXXw+j0YicnJwSl+ehhx5Cw4YN8cgjj+Dvv//Gzz//XGCbrKwspKenhzQdC9dHH30EnU6H66+/HgMGDECNGjXw/vvvlzgfIqLKhgEIEVEp2L59O86cORPRvs2aNUOnTp0wYcIEfPbZZ1i0aBHuvPNO6PV6jBo1qlSOEa4FCxbgjTfewOzZs1GtWjX06tUL/fr1w4IFCyLKT5blYBOu/v37Y+nSpdDpdPjtt9/QtWvX4HY+ny9kKF8gcF0SEhKQnJwckp6QkICtW7di7dq1WLlyJW677TbY7fYC+xfn3MSIDRo0wLBhw/DSSy/B5/OFbLNkyRIMGjSoyBqSolitVixZsgQjR46EVquFJEkYNWoUli1bFlEwQ0RUmTAAISIqBcOGDcM333wT8f5z585F06ZN8dJLL2HevHlo3749Vq5ciZo1a5baMYqzdOlSzJ49Gy+//DK6desWTJ86dSpmzZoVXM7IyMDWrVuRlpZWZBMnWZahKAr+/PNPtGrVCqmpqejWrRuGDBmC1NRUHDp0CG+88QZSU1ORmpqKli1b4u+//w7Jo1mzZgWaXwGByRKTkpJw33334e2338bw4cPRqlUrbNq0KeJzf+CBB3DixAksWbIk4jzOt3DhQni9Xtx2223BtGHDhsFgMLAWhIiqPEEpajgTIiKqUmRZxrZt29C+ffuLbjdv3jy8+eabqF27NubOnYs2bdoU2OaRRx6BTqfDE088gYyMDGg0movm6fV6UatWLVgslks6ByIiKv8YgBARUYnYbDbYbLYCw9qe75577oHFYsHs2bOjWDIiIqoIGIAQEREREVHUsA8IERERERFFDQMQIiIiIiKKGgYgREREREQUNQxAiIiIiIgoahiAEBERERFR1DAAISIiIiKiqGEAQkREREREUcMAhIiIiIiIooYBCBERERERRQ0DECIiIiIiihoGIEREREREFDUMQIiIiIiIKGoYgBARERERUdQwACEiIiIioqhhAEJERERERFHDAISIiIiIiKKGAQgREREREUUNAxAiIiIiIooaBiBERFQhud1urFq1KtbFICKiEmIAQkR
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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hjwAq1QqtG3bFrt27YpJea699loIgoCjR4/C6/UCCDTxSktLw5o1a4rcb/z48WjSpEmB9D59+sBsNuP//u//AABZWVk4evQoevXqVWg+zZo1Q1paGnbv3o1mzZqFrGvZsiUaN26Ml156CcOGDUPv3r3h8/kKNJ9KSEjApEmTiizr/PnzsXbtWmRnZ+P06dNFbncpFixYgNq1a6NVq1Z47733yuQYREQVDQMQIqIYczgchfZPyM3Nhdvtjnp5FEXBzJkz0bdvX2RnZwc7kdepUwcPPfRQgbk9wqHRaNCtWzf8+uuvAALzhKjVanTu3LnQ7Zs0aQKPx4O//vqrQACyZMkSjBo1Ci6XC3fccQe+++471KpVq0AeTZs2vWi/HZvNhsWLF6Nfv3548cUXC93mwQcfxJ49ezBnzpxwTzUoKysLX3zxBe666y7cddddWLVqFY4cOVLifIiIKhsGIEREMXb06FHcddddOHjwYEjaxo0b0a5du6iX54MPPsCePXswffp0TJ8+He+//z62bdsGIFDDEW6flAt1794dGzZsgMvlwvr169G+ffsi5yvRarWoV68eABRogrV06VIMGjQIM2bMwPXXXw+j0YicnJwSl+ehhx5Cw4YN8cgjj+Dvv//Gzz//XGCbrKwspKenhzQdC9dHH30EnU6H66+/HgMGDECNGjXw/vvvlzgfIqLKhgEIEVEp2L59O86cORPRvs2aNUOnTp0wYcIEfPbZZ1i0aBHuvPNO6PV6jBo1qlSOEa4FCxbgjTfewOzZs1GtWjX06tUL/fr1w4IFCyLKT5blYBOu/v37Y+nSpdDpdPjtt9/QtWvX4HY+ny9kKF8gcF0SEhKQnJwckp6QkICtW7di7dq1WLlyJW677TbY7fYC+xfn3MSIDRo0wLBhw/DSSy/B5/OFbLNkyRIMGjSoyBqSolitVixZsgQjR46EVquFJEkYNWoUli1bFlEwQ0RUmTAAISIqBcOGDcM333wT8f5z585F06ZN8dJLL2HevHlo3749Vq5ciZo1a5baMYqzdOlSzJ49Gy+//DK6desWTJ86dSpmzZoVXM7IyMDWrVuRlpZWZBMnWZahKAr+/PNPtGrVCqmpqejWrRuGDBmC1NRUHDp0CG+88QZSU1ORmpqKli1b4u+//w7Jo1mzZgWaXwGByRKTkpJw33334e2338bw4cPRqlUrbNq0KeJzf+CBB3DixAksWbIk4jzOt3DhQni9Xtx2223BtGHDhsFgMLAWhIiqPEEpajgTIiKqUmRZxrZt29C+ffuLbjdv3jy8+eabqF27NubOnYs2bdoU2OaRRx6BTqfDE088gYyMDGg0movm6fV6UatWLVgslks6ByIiKv8YgBARUYnYbDbYbLYCw9qe75577oHFYsHs2bOjWDIiIqoIGIAQEREREVHUsA8IERERERFFDQMQIiIiIiKKGgYgREREREQUNQxAiIiIiIgoahiAEBERERFR1DAAISIiIiKiqGEAQkREREREUcMAhIiIiIiIooYBCBERERERRQ0DECIiIiIiihoGIEREREREFDUMQIiIiIiIKGoYgBARERERUdQwACEiIiIioqhhAEJERERERFHDAISIiIiIiKKGAQgREREREUUNAxAiIiI
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(2,1)\n",
"ax[0].plot([i+1 for i in range(len(AlignMarkX.columns))],AXdescibe.loc['mean'],linestyle = '-.',marker = 'o',color='w')\n",
"AlignMarkX.boxplot(ax=ax[0])\n",
"ax[0].axhline(0,c='orange',ls='-.',label=r'Mean_X:$0um\\pm0.10um$')\n",
"for i in range(len(AlignMarkX.columns)):\n",
" ax[0].annotate(round(AXdescibe.loc['mean'][i],3), \n",
" xy=(i+1,AXdescibe.loc['mean'][i]),\n",
" xytext=(i+0.95,AXdescibe.loc['mean'][i]+0.05),\n",
" color=\"r\")\n",
"ax[0].legend()\n",
"ax[0].set_title('mean_X/Day')\n",
"#ax[1].plot([i for i in AlignMarkX.columns],AXdescibe.loc['3sigma'],marker = 'o')\n",
"ax[1].bar([i for i in AlignMarkX.columns],AXdescibe.loc['3sigma'])\n",
"ax[1].axhline(0.8,c='orange',ls='-.',label=r'3sigma_X:$<0.800um$')\n",
"ax[1].axhline(0.57,c='green',ls='-.',label=r'3sigma_X:$<0.570um$')\n",
"for i in range(len(AlignMarkX.columns)):\n",
" ax[1].annotate(round(AXdescibe.loc['3sigma'][i],3), \n",
" xy=(i,AXdescibe.loc['3sigma'][i]),\n",
" xytext=(i,AXdescibe.loc['3sigma'][i]),\n",
" color=\"r\")\n",
"ax[1].legend() \n",
"ax[1].set_title('3sigam_X/Day')\n",
"# ax[2].plot([i for i in AlignMarkX.columns],AXdescibe.loc['range'],marker = 'o')\n",
"# for i in range(len(AlignMarkX.columns)):\n",
"# ax[2].annotate(round(AXdescibe.loc['range'][i],3), \n",
"# xy=(i,AXdescibe.loc['range'][i]),\n",
"# xytext=(i,AXdescibe.loc['range'][i]),\n",
"# color=\"r\")\n",
"# ax[2].set_title('Range_X/Day')\n",
"plt.suptitle(f'{wafer_name} 对位MarkX')\n",
"fig.tight_layout()\n",
"plt.savefig(f'Wafer/{wafer_name}对位MarkX.jpg',dpi=200)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "64f88c9a",
"metadata": {},
"source": [
"### 对位MarkY"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "9e294f7b-3ea3-4a33-99b5-92e22bd1a827",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"index1_87 = np.arange(1,88,1)\n",
"AlignMarkY1 = TotalData1['MCY'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)\n",
"AlignMarkY2 = TotalData2['MCY'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)\n",
"AlignMarkY3 = TotalData3['MCY'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)\n",
"AlignMarkY4 = TotalData4['MCY'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "55e3b9a2-b1ab-4181-9d91-4d625c0093ec",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>76.000000</td>\n",
" <td>72.666667</td>\n",
" <td>78.000000</td>\n",
" <td>76.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>-0.291013</td>\n",
" <td>-0.306424</td>\n",
" <td>-0.274893</td>\n",
" <td>-0.469870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.209471</td>\n",
" <td>0.272097</td>\n",
" <td>0.273327</td>\n",
" <td>0.339680</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>-0.757000</td>\n",
" <td>-0.921833</td>\n",
" <td>-0.914833</td>\n",
" <td>-1.229000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>-0.448750</td>\n",
" <td>-0.504708</td>\n",
" <td>-0.469917</td>\n",
" <td>-0.726292</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>-0.303000</td>\n",
" <td>-0.287000</td>\n",
" <td>-0.266750</td>\n",
" <td>-0.480083</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>-0.126875</td>\n",
" <td>-0.107167</td>\n",
" <td>-0.075083</td>\n",
" <td>-0.202750</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>0.164167</td>\n",
" <td>0.221500</td>\n",
" <td>0.305833</td>\n",
" <td>0.243667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>range</th>\n",
" <td>0.921167</td>\n",
" <td>1.143333</td>\n",
" <td>1.220667</td>\n",
" <td>1.472667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3sigma</th>\n",
" <td>0.628414</td>\n",
" <td>0.816291</td>\n",
" <td>0.819981</td>\n",
" <td>1.019039</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3\n",
"count 76.000000 72.666667 78.000000 76.666667\n",
"mean -0.291013 -0.306424 -0.274893 -0.469870\n",
"std 0.209471 0.272097 0.273327 0.339680\n",
"min -0.757000 -0.921833 -0.914833 -1.229000\n",
"25% -0.448750 -0.504708 -0.469917 -0.726292\n",
"50% -0.303000 -0.287000 -0.266750 -0.480083\n",
"75% -0.126875 -0.107167 -0.075083 -0.202750\n",
"max 0.164167 0.221500 0.305833 0.243667\n",
"range 0.921167 1.143333 1.220667 1.472667\n",
"3sigma 0.628414 0.816291 0.819981 1.019039"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.concat([describe_3s(AlignMarkY1).mean(axis=1),describe_3s(AlignMarkY2).mean(axis=1),describe_3s(AlignMarkY3).mean(axis=1),describe_3s(AlignMarkY4).mean(axis=1)],axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "fd581438-5123-4128-8e03-b64e8e5c1540",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>12.05.1-Die1</th>\n",
" <th>12.06.1-Die1</th>\n",
" <th>12.06.2-Die1</th>\n",
" <th>12.05.1-Die2</th>\n",
" <th>12.06.1-Die2</th>\n",
" <th>12.06.2-Die2</th>\n",
" <th>12.05.1-Die3</th>\n",
" <th>12.06.1-Die3</th>\n",
" <th>12.06.2-Die3</th>\n",
" <th>12.05.1-Die4</th>\n",
" <th>12.06.1-Die4</th>\n",
" <th>12.06.2-Die4</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>76.000000</td>\n",
" <td>76.000000</td>\n",
" <td>76.000000</td>\n",
" <td>74.000000</td>\n",
" <td>73.000000</td>\n",
" <td>71.000000</td>\n",
" <td>78.000000</td>\n",
" <td>78.000000</td>\n",
" <td>78.000000</td>\n",
" <td>76.000000</td>\n",
" <td>77.000000</td>\n",
" <td>77.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>-0.351559</td>\n",
" <td>-0.259026</td>\n",
" <td>-0.262454</td>\n",
" <td>-0.344764</td>\n",
" <td>-0.347425</td>\n",
" <td>-0.227085</td>\n",
" <td>-0.356295</td>\n",
" <td>-0.303276</td>\n",
" <td>-0.165109</td>\n",
" <td>-0.470447</td>\n",
" <td>-0.612331</td>\n",
" <td>-0.326831</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.209142</td>\n",
" <td>0.180445</td>\n",
" <td>0.238826</td>\n",
" <td>0.245724</td>\n",
" <td>0.250998</td>\n",
" <td>0.319569</td>\n",
" <td>0.197954</td>\n",
" <td>0.256074</td>\n",
" <td>0.365953</td>\n",
" <td>0.275161</td>\n",
" <td>0.312853</td>\n",
" <td>0.431025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>-0.724000</td>\n",
" <td>-0.696000</td>\n",
" <td>-0.851000</td>\n",
" <td>-0.987000</td>\n",
" <td>-0.847500</td>\n",
" <td>-0.931000</td>\n",
" <td>-0.899000</td>\n",
" <td>-0.849000</td>\n",
" <td>-0.996500</td>\n",
" <td>-1.280500</td>\n",
" <td>-1.222500</td>\n",
" <td>-1.184000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>-0.508250</td>\n",
" <td>-0.383000</td>\n",
" <td>-0.455000</td>\n",
" <td>-0.524125</td>\n",
" <td>-0.550000</td>\n",
" <td>-0.440000</td>\n",
" <td>-0.501125</td>\n",
" <td>-0.482750</td>\n",
" <td>-0.425875</td>\n",
" <td>-0.657875</td>\n",
" <td>-0.854000</td>\n",
" <td>-0.667000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>-0.356500</td>\n",
" <td>-0.282750</td>\n",
" <td>-0.269750</td>\n",
" <td>-0.354000</td>\n",
" <td>-0.327500</td>\n",
" <td>-0.179500</td>\n",
" <td>-0.362250</td>\n",
" <td>-0.330750</td>\n",
" <td>-0.107250</td>\n",
" <td>-0.517250</td>\n",
" <td>-0.606000</td>\n",
" <td>-0.317000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>-0.196250</td>\n",
" <td>-0.153375</td>\n",
" <td>-0.031000</td>\n",
" <td>-0.145250</td>\n",
" <td>-0.176000</td>\n",
" <td>-0.000250</td>\n",
" <td>-0.214500</td>\n",
" <td>-0.106000</td>\n",
" <td>0.095250</td>\n",
" <td>-0.228250</td>\n",
" <td>-0.393000</td>\n",
" <td>0.013000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>0.077000</td>\n",
" <td>0.253500</td>\n",
" <td>0.162000</td>\n",
" <td>0.176000</td>\n",
" <td>0.215500</td>\n",
" <td>0.273000</td>\n",
" <td>0.178500</td>\n",
" <td>0.290500</td>\n",
" <td>0.448500</td>\n",
" <td>0.112000</td>\n",
" <td>0.062000</td>\n",
" <td>0.557000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>range</th>\n",
" <td>0.801000</td>\n",
" <td>0.949500</td>\n",
" <td>1.013000</td>\n",
" <td>1.163000</td>\n",
" <td>1.063000</td>\n",
" <td>1.204000</td>\n",
" <td>1.077500</td>\n",
" <td>1.139500</td>\n",
" <td>1.445000</td>\n",
" <td>1.392500</td>\n",
" <td>1.284500</td>\n",
" <td>1.741000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3sigma</th>\n",
" <td>0.627427</td>\n",
" <td>0.541336</td>\n",
" <td>0.716479</td>\n",
" <td>0.737171</td>\n",
" <td>0.752994</td>\n",
" <td>0.958708</td>\n",
" <td>0.593862</td>\n",
" <td>0.768221</td>\n",
" <td>1.097860</td>\n",
" <td>0.825484</td>\n",
" <td>0.938558</td>\n",
" <td>1.293074</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 12.05.1-Die1 12.06.1-Die1 12.06.2-Die1 12.05.1-Die2 12.06.1-Die2 \\\n",
"count 76.000000 76.000000 76.000000 74.000000 73.000000 \n",
"mean -0.351559 -0.259026 -0.262454 -0.344764 -0.347425 \n",
"std 0.209142 0.180445 0.238826 0.245724 0.250998 \n",
"min -0.724000 -0.696000 -0.851000 -0.987000 -0.847500 \n",
"25% -0.508250 -0.383000 -0.455000 -0.524125 -0.550000 \n",
"50% -0.356500 -0.282750 -0.269750 -0.354000 -0.327500 \n",
"75% -0.196250 -0.153375 -0.031000 -0.145250 -0.176000 \n",
"max 0.077000 0.253500 0.162000 0.176000 0.215500 \n",
"range 0.801000 0.949500 1.013000 1.163000 1.063000 \n",
"3sigma 0.627427 0.541336 0.716479 0.737171 0.752994 \n",
"\n",
" 12.06.2-Die2 12.05.1-Die3 12.06.1-Die3 12.06.2-Die3 12.05.1-Die4 \\\n",
"count 71.000000 78.000000 78.000000 78.000000 76.000000 \n",
"mean -0.227085 -0.356295 -0.303276 -0.165109 -0.470447 \n",
"std 0.319569 0.197954 0.256074 0.365953 0.275161 \n",
"min -0.931000 -0.899000 -0.849000 -0.996500 -1.280500 \n",
"25% -0.440000 -0.501125 -0.482750 -0.425875 -0.657875 \n",
"50% -0.179500 -0.362250 -0.330750 -0.107250 -0.517250 \n",
"75% -0.000250 -0.214500 -0.106000 0.095250 -0.228250 \n",
"max 0.273000 0.178500 0.290500 0.448500 0.112000 \n",
"range 1.204000 1.077500 1.139500 1.445000 1.392500 \n",
"3sigma 0.958708 0.593862 0.768221 1.097860 0.825484 \n",
"\n",
" 12.06.1-Die4 12.06.2-Die4 \n",
"count 77.000000 77.000000 \n",
"mean -0.612331 -0.326831 \n",
"std 0.312853 0.431025 \n",
"min -1.222500 -1.184000 \n",
"25% -0.854000 -0.667000 \n",
"50% -0.606000 -0.317000 \n",
"75% -0.393000 0.013000 \n",
"max 0.062000 0.557000 \n",
"range 1.284500 1.741000 \n",
"3sigma 0.938558 1.293074 "
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"AlignMarkY = pd.concat([AlignMarkY1,AlignMarkY2,AlignMarkY3,AlignMarkY4],axis=1)\n",
"AYdescibe = describe_3s(AlignMarkY)\n",
"AYdescibe"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "81162e4f-1ed2-4365-9e55-2a0177174f18",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "cd4591ef03924de08ad1df05f78f2518",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(2,1)\n",
"ax[0].plot([i+1 for i in range(len(AlignMarkY.columns))],AYdescibe.loc['mean'],linestyle = '-.',marker = 'o',color='w')\n",
"AlignMarkY.boxplot(ax=ax[0])\n",
"ax[0].axhline(0,c='orange',ls='-.',label=r'Mean_Y:$0um\\pm0.10um$')\n",
"for i in range(len(AlignMarkY.columns)):\n",
" ax[0].annotate(round(AYdescibe.loc['mean'][i],3), \n",
" xy=(i+1,AYdescibe.loc['mean'][i]),\n",
" xytext=(i+0.95,AYdescibe.loc['mean'][i]+0.05),\n",
" color=\"r\")\n",
"ax[0].legend()\n",
"ax[0].set_title('mean_Y/Day')\n",
"ax[1].plot([i for i in AlignMarkY.columns],AYdescibe.loc['3sigma'],marker = 'o')\n",
"ax[1].axhline(0.8,c='orange',ls='-.',label=r'3sigma_Y:$<0.800um$')\n",
"ax[1].axhline(0.57,c='green',ls='-.',label=r'3sigma_Y:$<0.570um$')\n",
"for i in range(len(AlignMarkY.columns)):\n",
" ax[1].annotate(round(AYdescibe.loc['3sigma'][i],3), \n",
" xy=(i,AYdescibe.loc['3sigma'][i]),\n",
" xytext=(i,AYdescibe.loc['3sigma'][i]),\n",
" color=\"r\")\n",
"ax[1].legend() \n",
"ax[1].set_title('3sigam_Y/Day')\n",
"# ax[2].plot([i for i in AlignMarkY.columns],AYdescibe.loc['range'],marker = 'o')\n",
"# for i in range(len(AlignMarkY.columns)):\n",
"# ax[2].annotate(round(AYdescibe.loc['range'][i],3), \n",
"# xy=(i,AYdescibe.loc['range'][i]),\n",
"# xytext=(i,AYdescibe.loc['range'][i]),\n",
"# color=\"r\")\n",
"# ax[2].set_title('Range_Y/Day')\n",
"plt.suptitle(f'{wafer_name} 对位MarkY')\n",
"fig.tight_layout()\n",
"plt.savefig(f'Wafer/{wafer_name}对位MarkY.jpg',dpi=200)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "087d4ba5-1315-4865-ad1c-c954660b8086",
"metadata": {},
"source": [
"## 角度"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "290bb2e8-7d54-45d5-8842-e3d16b554edf",
"metadata": {},
"outputs": [],
"source": [
"index1_87 = np.arange(1,88,1)\n",
"Angle1 = TotalData1['Angle13'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)\n",
"Angle2 = TotalData2['Angle13'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)\n",
"Angle3 = TotalData3['Angle13'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)\n",
"Angle4 = TotalData4['Angle13'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "01a0a91f-d24d-485f-b84d-7ef432a884fd",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>76.000000</td>\n",
" <td>72.666667</td>\n",
" <td>78.000000</td>\n",
" <td>76.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>-0.003238</td>\n",
" <td>0.001794</td>\n",
" <td>0.002426</td>\n",
" <td>0.001037</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.001867</td>\n",
" <td>0.001146</td>\n",
" <td>0.001527</td>\n",
" <td>0.002324</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>-0.007476</td>\n",
" <td>-0.001055</td>\n",
" <td>-0.001314</td>\n",
" <td>-0.004669</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>-0.004502</td>\n",
" <td>0.001025</td>\n",
" <td>0.001426</td>\n",
" <td>-0.000537</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>-0.003234</td>\n",
" <td>0.001721</td>\n",
" <td>0.002285</td>\n",
" <td>0.000980</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>-0.001887</td>\n",
" <td>0.002606</td>\n",
" <td>0.003280</td>\n",
" <td>0.002375</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>0.000230</td>\n",
" <td>0.004989</td>\n",
" <td>0.006790</td>\n",
" <td>0.007309</td>\n",
" </tr>\n",
" <tr>\n",
" <th>range</th>\n",
" <td>0.007706</td>\n",
" <td>0.006044</td>\n",
" <td>0.008104</td>\n",
" <td>0.011978</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3sigma</th>\n",
" <td>0.005601</td>\n",
" <td>0.003439</td>\n",
" <td>0.004582</td>\n",
" <td>0.006971</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3\n",
"count 76.000000 72.666667 78.000000 76.666667\n",
"mean -0.003238 0.001794 0.002426 0.001037\n",
"std 0.001867 0.001146 0.001527 0.002324\n",
"min -0.007476 -0.001055 -0.001314 -0.004669\n",
"25% -0.004502 0.001025 0.001426 -0.000537\n",
"50% -0.003234 0.001721 0.002285 0.000980\n",
"75% -0.001887 0.002606 0.003280 0.002375\n",
"max 0.000230 0.004989 0.006790 0.007309\n",
"range 0.007706 0.006044 0.008104 0.011978\n",
"3sigma 0.005601 0.003439 0.004582 0.006971"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.concat([describe_3s(Angle1).mean(axis=1),\n",
" describe_3s(Angle2).mean(axis=1),\n",
" describe_3s(Angle3).mean(axis=1),\n",
" describe_3s(Angle4).mean(axis=1)],axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "d7ad6c24-46b8-4f3e-b437-c025f0564763",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>11.15.1-Die1</th>\n",
" <th>11.15.1-Die2</th>\n",
" <th>11.15.1-Die3</th>\n",
" <th>11.15.1-Die4</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>75.000000</td>\n",
" <td>73.000000</td>\n",
" <td>78.000000</td>\n",
" <td>72.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>0.021630</td>\n",
" <td>0.040862</td>\n",
" <td>0.007070</td>\n",
" <td>0.033251</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.003434</td>\n",
" <td>0.001274</td>\n",
" <td>0.001722</td>\n",
" <td>0.002275</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.008965</td>\n",
" <td>0.036701</td>\n",
" <td>0.001561</td>\n",
" <td>0.028197</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>0.020921</td>\n",
" <td>0.040220</td>\n",
" <td>0.006209</td>\n",
" <td>0.031631</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>0.022541</td>\n",
" <td>0.040752</td>\n",
" <td>0.007124</td>\n",
" <td>0.032938</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>0.023962</td>\n",
" <td>0.041565</td>\n",
" <td>0.008269</td>\n",
" <td>0.034828</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>0.026448</td>\n",
" <td>0.044353</td>\n",
" <td>0.010350</td>\n",
" <td>0.037807</td>\n",
" </tr>\n",
" <tr>\n",
" <th>range</th>\n",
" <td>0.017483</td>\n",
" <td>0.007652</td>\n",
" <td>0.008790</td>\n",
" <td>0.009610</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3sigma</th>\n",
" <td>0.010301</td>\n",
" <td>0.003822</td>\n",
" <td>0.005166</td>\n",
" <td>0.006825</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 11.15.1-Die1 11.15.1-Die2 11.15.1-Die3 11.15.1-Die4\n",
"count 75.000000 73.000000 78.000000 72.000000\n",
"mean 0.021630 0.040862 0.007070 0.033251\n",
"std 0.003434 0.001274 0.001722 0.002275\n",
"min 0.008965 0.036701 0.001561 0.028197\n",
"25% 0.020921 0.040220 0.006209 0.031631\n",
"50% 0.022541 0.040752 0.007124 0.032938\n",
"75% 0.023962 0.041565 0.008269 0.034828\n",
"max 0.026448 0.044353 0.010350 0.037807\n",
"range 0.017483 0.007652 0.008790 0.009610\n",
"3sigma 0.010301 0.003822 0.005166 0.006825"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Angle = pd.concat([Angle1,Angle2,Angle3,Angle4],axis=1)\n",
"Angdescibe = describe_3s(Angle)\n",
"Angdescibe"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "8cc808cd-dde4-4226-8560-0abfc1d3652c",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "1a1d57a2127b453eb0676091fbf75819",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(2,1)\n",
"ax[0].plot([i+1 for i in range(len(Angle.columns))],Angdescibe.loc['mean'],linestyle = '-.',marker = 'o',color='w')\n",
"Angle.boxplot(ax=ax[0])\n",
"ax[0].axhline(0,c='orange',ls='-.',label=r'Mean_Angle:$0°\\pm0.0005°$')\n",
"for i in range(len(Angle.columns)):\n",
" ax[0].annotate(round(Angdescibe.loc['mean'][i],5), \n",
" xy=(i+1,Angdescibe.loc['mean'][i]),\n",
" xytext=(i+0.95,Angdescibe.loc['mean'][i]),\n",
" color=\"r\")\n",
"ax[0].legend()\n",
"ax[0].set_title('mean_Angle/Day')\n",
"ax[1].plot([i for i in Angle.columns],Angdescibe.loc['3sigma'],marker = 'o')\n",
"ax[1].axhline(0.001,c='orange',ls='-.',label=r'3sigma_Angle:$<0.001°$')\n",
"for i in range(len(Angle.columns)):\n",
" ax[1].annotate(round(Angdescibe.loc['3sigma'][i],5), \n",
" xy=(i,Angdescibe.loc['3sigma'][i]),\n",
" xytext=(i,Angdescibe.loc['3sigma'][i]),\n",
" color=\"r\")\n",
"ax[1].legend() \n",
"ax[1].set_title('3sigam_Angle/Day')\n",
"# ax[2].plot([i for i in Angle.columns],Angdescibe.loc['range'],marker = 'o')\n",
"# for i in range(len(Angle.columns)):\n",
"# ax[2].annotate(round(Angdescibe.loc['range'][i],3), \n",
"# xy=(i,Angdescibe.loc['range'][i]),\n",
"# xytext=(i,Angdescibe.loc['range'][i]),\n",
"# color=\"r\")\n",
"# ax[2].set_title('Range_Angle/Day')\n",
"plt.suptitle(f'{wafer_name} 角度(°)')\n",
"fig.tight_layout()\n",
"plt.savefig(f'Wafer/{wafer_name}角度.jpg',dpi=200)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "6ace8d23",
"metadata": {},
"source": [
"## 角度Mark"
]
},
{
"cell_type": "markdown",
"id": "c70c8ca9",
"metadata": {},
"source": [
"### 角度MarkX"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "87ad2953",
"metadata": {},
"outputs": [],
"source": [
"index1_87 = np.arange(1,88,1)\n",
"AngleMarkX1 = TotalData1['M1X'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)\n",
"AngleMarkX2 = TotalData2['M1X'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)\n",
"AngleMarkX3 = TotalData3['M1X'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)\n",
"AngleMarkX4 = TotalData4['M1X'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "20240c77-1fbe-4570-befd-f8377a148aff",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>11.04.1-Die1</th>\n",
" <th>11.04.1-Die2</th>\n",
" <th>11.04.1-Die3</th>\n",
" <th>11.04.1-Die4</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>73.000000</td>\n",
" <td>69.000000</td>\n",
" <td>69.000000</td>\n",
" <td>66.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>-18.151616</td>\n",
" <td>-17.153406</td>\n",
" <td>-16.797884</td>\n",
" <td>-18.135758</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.410344</td>\n",
" <td>0.314673</td>\n",
" <td>0.263579</td>\n",
" <td>0.646398</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>-19.485000</td>\n",
" <td>-18.102000</td>\n",
" <td>-17.505000</td>\n",
" <td>-19.278000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>-18.502000</td>\n",
" <td>-17.337000</td>\n",
" <td>-16.950000</td>\n",
" <td>-18.633000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>-18.084000</td>\n",
" <td>-17.186000</td>\n",
" <td>-16.851000</td>\n",
" <td>-18.072000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>-17.802000</td>\n",
" <td>-16.988000</td>\n",
" <td>-16.654000</td>\n",
" <td>-17.611250</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>-17.517000</td>\n",
" <td>-15.988000</td>\n",
" <td>-16.073000</td>\n",
" <td>-16.945000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>range</th>\n",
" <td>1.968000</td>\n",
" <td>2.114000</td>\n",
" <td>1.432000</td>\n",
" <td>2.333000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3sigma</th>\n",
" <td>1.231033</td>\n",
" <td>0.944019</td>\n",
" <td>0.790738</td>\n",
" <td>1.939193</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 11.04.1-Die1 11.04.1-Die2 11.04.1-Die3 11.04.1-Die4\n",
"count 73.000000 69.000000 69.000000 66.000000\n",
"mean -18.151616 -17.153406 -16.797884 -18.135758\n",
"std 0.410344 0.314673 0.263579 0.646398\n",
"min -19.485000 -18.102000 -17.505000 -19.278000\n",
"25% -18.502000 -17.337000 -16.950000 -18.633000\n",
"50% -18.084000 -17.186000 -16.851000 -18.072000\n",
"75% -17.802000 -16.988000 -16.654000 -17.611250\n",
"max -17.517000 -15.988000 -16.073000 -16.945000\n",
"range 1.968000 2.114000 1.432000 2.333000\n",
"3sigma 1.231033 0.944019 0.790738 1.939193"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"AngleMarkX = pd.concat([AngleMarkX1,AngleMarkX2,AngleMarkX3,AngleMarkX4],axis=1)\n",
"RXdescibe = describe_3s(AngleMarkX)\n",
"RXdescibe"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "2dcd5e1f-bcd3-4100-8aa0-f2125301c1e3",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "cfac58622729436aa270bb402f641715",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAImCAYAAACrXu7BAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC3+0lEQVR4nOzdeZyN5f/H8ddZZt+Hse/bkF2EshSK7IVSlCUkSqXSV1+l+JZoUWlVKlspESX1E5VSZGcojLHvzL7PnOX3x3BmjhnMembxfj4e85i5r/u+r+u6z1znnPtzX9d13wa73W5HRERERETEBYzFXQEREREREbl+KAARERERERGXUQAiIiIiIiIuowBERERERERcRgGIiIiIiIi4jAIQERERERFxGQUgIiIiIiLiMgpARERERETEZRSAiIiIiIiIyygAERERERERl1EAIiIiV/Ttt9/y4osvYrPZCpzX+++/zzvvvFMItRIRkdJMAYiIiOTowoULzJw5kypVqmA0Fvzrwm638/nnn5OcnOxIs1gsJCQkFEqAIyIipYMCEBGRi/7880+6det2xfWJiYn07NmTv//+O1/5z5s3j86dO9O+fXveeuutq550f/7553Tp0iVf5VzrOHLDYrHw9NNPEx0dzRtvvEFoaKjTT+fOnYmPj89x31WrVmXbPjQ0lHfeeYfExERatGjhSGvcuDE33ngjhw8fBmD58uWEhoYyduxYR37z5s0jNDSU//znPwU6pqy6dOnC8uXLCy2/yx04cICGDRuyYsUKR9qvv/5KaGgoW7duLbJyRURKA3NxV0BEpCSIiIjgqaeewtvbO8f16enpPPvss0REROQr/88//5zXXnuNRx99lCZNmvDyyy/j7e3NmDFjsm177Ngx3nrrLYKDg/NczrWOIzcsFguTJ0/mzJkz/P777wQGBjrW7dmzh6FDh/LKK6/g5+eX4/5msxk/Pz/+/PNPAA4fPsxHH33E888/j4+PDwArVqxg7969PPvss6SlpeHv7++Ux/79+3P8u7Ro0KABXbt2ZcGCBfTv3x+ABQsW0Lp1a1q3bl28lRMRKWbqARGR697u3bu5//77qVatWo7rU1NTGTNmDGfOnMlX/mlpabz33nsMHjyYRx99lFtvvZXp06czd+5cLBaL07Z2u53//ve/mEymQj+O3Dh79iwjR47kzz//5N1338XX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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAImCAYAAACrXu7BAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC3+0lEQVR4nOzdeZyN5f/H8ddZZt+Hse/bkF2EshSK7IVSlCUkSqXSV1+l+JZoUWlVKlspESX1E5VSZGcojLHvzL7PnOX3x3BmjhnMembxfj4e85i5r/u+r+u6z1znnPtzX9d13wa73W5HRERERETEBYzFXQEREREREbl+KAARERERERGXUQAiIiIiIiIuowBERERERERcRgGIiIiIiIi4jAIQERERERFxGQUgIiIiIiLiMgpARERERETEZRSAiIiIiIiIyygAERERERERl1EAIiIiV/Ttt9/y4osvYrPZCpzX+++/zzvvvFMItRIRkdJMAYiIiOTowoULzJw5kypVqmA0Fvzrwm638/nnn5OcnOxIs1gsJCQkFEqAIyIipYMCEBGRi/7880+6det2xfWJiYn07NmTv//+O1/5z5s3j86dO9O+fXveeuutq550f/7553Tp0iVf5VzrOHLDYrHw9NNPEx0dzRtvvEFoaKjTT+fOnYmPj89x31WrVmXbPjQ0lHfeeYfExERatGjhSGvcuDE33ngjhw8fBmD58uWEhoYyduxYR37z5s0jNDSU//znPwU6pqy6dOnC8uXLCy2/yx04cICGDRuyYsUKR9qvv/5KaGgoW7duLbJyRURKA3NxV0BEpCSIiIjgqaeewtvbO8f16enpPPvss0REROQr/88//5zXXnuNRx99lCZNmvDyyy/j7e3NmDFjsm177Ngx3nrrLYKDg/NczrWOIzcsFguTJ0/mzJkz/P777wQGBjrW7dmzh6FDh/LKK6/g5+eX4/5msxk/Pz/+/PNPAA4fPsxHH33E888/j4+PDwArVqxg7969PPvss6SlpeHv7++Ux/79+3P8u7Ro0KABXbt2ZcGCBfTv3x+ABQsW0Lp1a1q3bl28lRMRKWbqARGR697u3bu5//77qVatWo7rU1NTGTNmDGfOnMlX/mlpabz33nsMHjyYRx99lFtvvZXp06czd+5cLBaL07Z2u53//ve/mEymQj+O3Dh79iwjR47kzz//5N1338XX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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(2,1)\n",
"ax[0].plot([i+1 for i in range(len(AngleMarkX.columns))],RXdescibe.loc['mean'],linestyle = '-.',marker = 'o',color='w')\n",
"AngleMarkX.boxplot(ax=ax[0])\n",
"ax[0].axhline(0,c='orange',ls='-.',label=r'Mean_X:$0um\\pm0.10um$')\n",
"for i in range(len(AngleMarkX.columns)):\n",
" ax[0].annotate(round(RXdescibe.loc['mean'][i],2), \n",
" xy=(i+1,RXdescibe.loc['mean'][i]),\n",
" xytext=(i+0.95,RXdescibe.loc['mean'][i]+0.05),\n",
" color=\"r\")\n",
"ax[0].legend()\n",
"ax[0].set_title('mean_X/Day')\n",
"ax[1].plot([i for i in AngleMarkX.columns],RXdescibe.loc['3sigma'],marker = 'o')\n",
"ax[1].axhline(0.8,c='orange',ls='-.',label=r'3sigma_X:$<0.800um$')\n",
"for i in range(len(AngleMarkX.columns)):\n",
" ax[1].annotate(round(RXdescibe.loc['3sigma'][i],3), \n",
" xy=(i,RXdescibe.loc['3sigma'][i]),\n",
" xytext=(i,RXdescibe.loc['3sigma'][i]),\n",
" color=\"r\")\n",
"ax[1].legend() \n",
"ax[1].set_title('3sigam_X/Day')\n",
"# ax[2].plot([i for i in AngleMarkX.columns],RXdescibe.loc['range'],marker = 'o')\n",
"# for i in range(len(AngleMarkX.columns)):\n",
"# ax[2].annotate(round(RXdescibe.loc['range'][i],3), \n",
"# xy=(i,RXdescibe.loc['range'][i]),\n",
"# xytext=(i,RXdescibe.loc['range'][i]),\n",
"# color=\"r\")\n",
"# ax[2].set_title('Range_X/Day')\n",
"plt.suptitle(f'{wafer_name} 角度MarkX')\n",
"fig.tight_layout()\n",
"plt.savefig(f'Wafer/{wafer_name}角度MarkX.jpg',dpi=200)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "e6b43e8a-bf37-459f-af21-b5038de7f038",
"metadata": {},
"outputs": [],
"source": [
"# import plotly.express as px\n",
"# # import pandas as pd\n",
"\n",
"\n",
"# fig = px.box(AngleMarkX)\n",
"# fig.add_trace(go.Scatter(x=AngleMarkX.columns,\n",
"# y=RXdescibe.loc['mean'],\n",
"# mode='markers+lines',\n",
"# line=dict(color='white', dash='dash'),\n",
"# marker=dict(color='red'),\n",
"# name='Mean_X'))\n",
"# fig.add_trace(go.Scatter(x=AngleMarkX.columns,\n",
"# y=RXdescibe.loc['3sigma'],\n",
"# mode='markers+lines',\n",
"# line=dict(color='orange', dash='dash'),\n",
"# marker=dict(color='green'),\n",
"# name='X3sigma'))\n",
"# fig.update_layout(legend=dict(orientation=\"h\", yanchor=\"bottom\", y=1.02, xanchor=\"right\", x=1))\n",
"# # 隐藏X轴和Y轴的标签\n",
"# fig.update_xaxes(title_text='', title_font=dict(size=1))\n",
"# fig.update_yaxes(title_text='', title_font=dict(size=1))\n",
"# fig.show()\n"
]
},
{
"cell_type": "markdown",
"id": "fca6defb",
"metadata": {},
"source": [
"### 角度MarkY"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "389557c5",
"metadata": {},
"outputs": [],
"source": [
"index1_87 = np.arange(1,88,1)\n",
"AngleMarkY1 = TotalData1['M1Y'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)\n",
"AngleMarkY2 = TotalData2['M1Y'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)\n",
"AngleMarkY3 = TotalData3['M1Y'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)\n",
"AngleMarkY4 = TotalData4['M1Y'].dropna(subset='QX8800SP_Index').set_index('QX8800SP_Index').iloc[:,wafer_num:].set_index(index1_87)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "84abc105-8e22-4de7-a088-3ec7c6fdc59f",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>11.04.1-Die1</th>\n",
" <th>11.04.1-Die2</th>\n",
" <th>11.04.1-Die3</th>\n",
" <th>11.04.1-Die4</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>73.000000</td>\n",
" <td>69.000000</td>\n",
" <td>69.000000</td>\n",
" <td>66.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>4.174027</td>\n",
" <td>3.297638</td>\n",
" <td>4.192145</td>\n",
" <td>4.407439</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.269076</td>\n",
" <td>0.375151</td>\n",
" <td>0.280047</td>\n",
" <td>0.703346</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>3.616000</td>\n",
" <td>2.475000</td>\n",
" <td>3.403000</td>\n",
" <td>2.347000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>4.014000</td>\n",
" <td>3.132000</td>\n",
" <td>3.993000</td>\n",
" <td>3.818000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>4.156000</td>\n",
" <td>3.342000</td>\n",
" <td>4.156000</td>\n",
" <td>4.581500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>4.343000</td>\n",
" <td>3.569000</td>\n",
" <td>4.419000</td>\n",
" <td>4.887250</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>4.911000</td>\n",
" <td>3.956000</td>\n",
" <td>4.815000</td>\n",
" <td>5.655000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>range</th>\n",
" <td>1.295000</td>\n",
" <td>1.481000</td>\n",
" <td>1.412000</td>\n",
" <td>3.308000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3sigma</th>\n",
" <td>0.807227</td>\n",
" <td>1.125452</td>\n",
" <td>0.840140</td>\n",
" <td>2.110039</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 11.04.1-Die1 11.04.1-Die2 11.04.1-Die3 11.04.1-Die4\n",
"count 73.000000 69.000000 69.000000 66.000000\n",
"mean 4.174027 3.297638 4.192145 4.407439\n",
"std 0.269076 0.375151 0.280047 0.703346\n",
"min 3.616000 2.475000 3.403000 2.347000\n",
"25% 4.014000 3.132000 3.993000 3.818000\n",
"50% 4.156000 3.342000 4.156000 4.581500\n",
"75% 4.343000 3.569000 4.419000 4.887250\n",
"max 4.911000 3.956000 4.815000 5.655000\n",
"range 1.295000 1.481000 1.412000 3.308000\n",
"3sigma 0.807227 1.125452 0.840140 2.110039"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"AngleMarkY = pd.concat([AngleMarkY1,AngleMarkY2,AngleMarkY3,AngleMarkY4],axis=1)\n",
"RYdescibe = describe_3s(AngleMarkY)\n",
"RYdescibe"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "c7a1606f-4530-4fa6-89ce-892a57c06493",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "4f4e35761995475596f2810424c5ce30",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAImCAYAAACrXu7BAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACyV0lEQVR4nOzdeZyNdf/H8dfZZl/MMPbdMJYI2SpRUmQpKd2KoghRKrl1J2W7S1pVUikl0qISZanutP0UIWGQfV/GMvs+c5bfH2POzDGDWc+Z5f18PDy4tu/1uY7rOuf6XN/lMjgcDgciIiIiIiJuYPR0ACIiIiIiUnkoAREREREREbdRAiIiIiIiIm6jBERERERERNxGCYiIiIiIiLiNEhAREREREXEbJSAiIiIiIuI2SkBERERERMRtlICIiIiIiIjbKAERERERERG3UQIiIiIX9fXXXzNt2jTsdnuxy5o3bx5vvPFGCUQlIiLlmRIQERHJ17lz55g9eza1a9fGaCz+z4XD4WDhwoWkpqY651mtVpKSkkokwRERkfJBCYiIyHm///47PXv2vOjy5ORk+vTpw59//lmk8hcsWED37t25+uqrmTNnziVvuhcuXEiPHj2KtJ/LHUdBWK1WJk6cSGxsLK+88goREREuf7p3705iYmK+265cuTLP+hEREbzxxhskJyfTtm1b57xWrVpx1VVXcejQIQCWLVtGREQEY8aMcZa3YMECIiIi+M9//lOsY8qtR48eLFu2rMTKu9D7779P27ZtiYuLc85zOBzccsstJXocIiLlkRIQERHgwIEDPPHEExdNCjIzM3nyySc5cOBAkcpfuHAhL730EoMGDWLWrFmsWrWK999/P991jx49ypw5c4q0n8sdR0FYrVaeeuopoqKi+O2339i+fbvzzyeffILRaOT5558nMDAw3+3NZjOBgYHObVasWEGfPn1Yv369c96MGTP417/+xZYtW9iwYQMNGzZ0KWPPnj35/ru8GDx4MGazmaVLlzrn/fbbbxw6dIgRI0Z4MDIREc9TAiIild727du55557qFu3br7L09PTGTVqFFFRUUUqPyMjg7feeovBgwfz8MMPc/311zNz5kzmz5+P1Wp1WdfhcPD0009jMplK/DgK4vTp0zzwwAP8/vvvzJ07l4CAAKxWq/PP7Nmz6d+/P23btiU5OZnk5GRsNptLGUajEaPRiMFgwGAwYLVaWb16NV5eXnh7e+Pt7c3Zs2fZt28ffn5++Pn55Ynj5MmTJCQkALB79+4iH4+nBAQEcPfdd7NkyRLn//GiRYvo3r07TZs29XB0IiKeZfZ0ACIinrZp0yaefPJJAObOnZtn+dmzZ6lSpQpz586lffv2hS5/x44dJCQk0L9/f+e8Ll26ABAZGUm7du2c8z/55BP27t3L6NGj+eyzz0r0OC7HZrMxfvx4EhMTcTgc9O3bN9/1tm3bxooVK5zT8+fPp3v37i7rGAwGFi9ezIsvvojZnPVTc/XVVzuX2+12bDYbV1xxBVarlc8//5y2bdsCUKdOHTIyMtizZw9t27bl4MGDXHnllYU+Hk+77777WLhwId999x3Nmzdn3bp1LFmyxNNhiYh4nGpARKTSu//++xk4cOBFl9euXZvXXnsNf3//IpV/5swZACIiIlzm16pViyNHjjinT5w4wcsvv8zUqVOpVq1aofdzueO4HJPJxBtvvMGnn35KUFAQzz77LJs2bWLTpk2sWrUKgBUrVjjnbdq0CZPJhJeXl0s5drsds9nMsGHD+Oeff5zNkDZs2EBkZCSRkZGMGzeOjh07snPnTnbt2kWbNm1cyoiIiGDPnj0cOHAAg8FAgwYNXJZ/88039OnThyuvvJLevXuzcuVKl+Vvvvkm9957L4mJiUybNo2uXbuyfv36fI87JSWFQYMGMWTIENLS0or8+V0oLCyM22+/nY8++oiPPvqItm3b0qFDhxIrX0SkvFICIiKV3uVGeCruCFBpaWmYTCYCAgJc5nt7exMTE+OcfuaZZ+jWrRt9+vQp0n5KYqSqGjVqEBwcjN1ux2QyufyBrP4dF867cL9paWlYLBbMZjNGo9HZRCs1NdXZbCszM9PZT8VkMuUpo1mzZuzevZs9e/YQHh7u0iTtr7/+YtKkSXTv3p0FCxbQv39/nnzySY4dO+ZSRmZmJsOGDePUqVOMGTOGRo0a5TnezMxMxo8fj81m491338XHx8dleVxcHEeOHOHcuXNF+Th54IEH2LFjB1999RUjR44sUhkiIhWNmmCJiJQyLy+vfPt0WCwW5xP3L774gt27d+d5ku8pqampTJ06lalTp7rMv1izrNzS09MJCgpyTmcf47XXXuuy3oW1Hrk1a9aMTz75hMDAwDw1Rz4+PsyYMYM77rgDk8lEo0aNePvtt4mMjKRevXrO9f7++2+GDh3KM888k+8+HA4HTz31FLt37+abb77JkyACLF68mLlz59KnTx9ee+21yx77hRo2bMh1113H3r17ufHGGwu9vYhIRaQERESklFWtWpWMjAxiY2MJCQlxzo+Pj8fPz4/Tp08ze/Zsnn/+eUJDQz0YaY74+Hjef/99rrvuOgCioqLo3r07a9eudenk3rJlyzzbJiYmEhYWhsPhIDo6mubNm7Nly5Z895Oamoqvr2+e+c2aNWPfvn0EBAQ4b+CztWrVirS0NGbPns2WLVvYvXs3Vqs1T/OpkJAQJkyYcNFjnD9/PklJScTFxXHu3LlS++xDQ0MJDg4ukRoqEZGKQAmIiEgpa9myJRaLhS1btjifgiclJXH48GGqV6/O77//TmJiIo888kiebSMiInj44YfzXVZajh8/TkZGBl5eXiQnJwM4Xx6YlpbmnHcxUVFRVK9encTERK6//nrMZnOeWhG73U5CQgJjxozh8ccfz1NGeHg4GRkZ/PHHH4wYMcIlAVmyZAmzZs1i4MCB3HvvvbRv355hw4blKaNp06aX7LeTlJTExx9/zJw5c3jhhRf44IMP8qzzyCOPuPWzFxGpDJSAiIiUssDAQK699lo++OADrr/+ekwmE5988gkOh4MuXbpgNBpZvny5yzZr167ls88+47333itSh/Ti2L59O5A1itOFCtIE68iRI7Rs2ZKgoCB27NhBdHQ0/fv3Z9asWc7RsqZMmcKOHTsYN25cvmV4e3tTv359Dh06REREhEvTtC+++II+ffowY8YMAGJiYlxe+FdQjz76KI0aNeLxxx+nb9++/Pzzz9xwww0u68TExBAbG0tAQAA1atQo9D5ERCQvJSAiIiUgMjKS2rVrU7Vq1XyXP/LII9xzzz3cdddd1K1bl++//557773X2eynSpUqLuv/888/eHl50aJFiwLvo6SsWLGCZs2a8e233zrnFbQJltVq5a+//uLuu+92zqtatSozZsxg0qRJvPPOO2zcuJGff/6Zzz77LM8IWrk1a9aMuLg4wsLCXOaHhISwbds21q9fz9mzZ5k3b16+7yO5nOzhgRs2bMidd97J7Nmzue6665zzIau2pTh9QEREJC81SBURKQF33nmnyw37ha644gq++OILatSowbFjx5g4cSL/+c9/SnQfJeGXX37hl19+4f7773eZn90Ey+FwOOfFxMQ4R8vKtm7dOjIyMvIMN9uzZ08GDRrEvffey5tvvslbb73l0mE8P82aNaNZs2Z55k+ZMoWqVavy0EMPMW/ePAYNGsQVV1zBX3/9Vejjzfbwww9z+vRpvadDRMQNDI7cvyYiIlJppaenM3DgQGrVqsV7772HwWBwLtu+fTuDBg1i1apVhIeHc//99/PHH39Qv359vvrqK2f/jnvvvZfg4GBefPFFTp06xdGjR9mxYwe///47Bw8e5IYbbmDfvn3s37+f1q1b06xZM6pWrUpoaCh33nnnJWtERESkYlACIiIiTomJiRgMhnyHpM3t9OnTpKam0qBBA5dEZf369fj5+VGvXj3uuusuQkNDad26NVdffTXdunVzJhjHjh3jjz/+YPv27ezdu5dGjRrx4osvluqxiYhI2aAERERERERE3EZ9QERERERExG2UgIiIiIiIiNsoARE
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAImCAYAAACrXu7BAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACyV0lEQVR4nOzdeZyNdf/H8dfZZl/MMPbdMJYI2SpRUmQpKd2KoghRKrl1J2W7S1pVUikl0qISZanutP0UIWGQfV/GMvs+c5bfH2POzDGDWc+Z5f18PDy4tu/1uY7rOuf6XN/lMjgcDgciIiIiIiJuYPR0ACIiIiIiUnkoAREREREREbdRAiIiIiIiIm6jBERERERERNxGCYiIiIiIiLiNEhAREREREXEbJSAiIiIiIuI2SkBERERERMRtlICIiIiIiIjbKAERERERERG3UQIiIiIX9fXXXzNt2jTsdnuxy5o3bx5vvPFGCUQlIiLlmRIQERHJ17lz55g9eza1a9fGaCz+z4XD4WDhwoWkpqY651mtVpKSkkokwRERkfJBCYiIyHm///47PXv2vOjy5ORk+vTpw59//lmk8hcsWED37t25+uqrmTNnziVvuhcuXEiPHj2KtJ/LHUdBWK1WJk6cSGxsLK+88goREREuf7p3705iYmK+265cuTLP+hEREbzxxhskJyfTtm1b57xWrVpx1VVXcejQIQCWLVtGREQEY8aMcZa3YMECIiIi+M9//lOsY8qtR48eLFu2rMTKu9D7779P27ZtiYuLc85zOBzccsstJXocIiLlkRIQERHgwIEDPPHEExdNCjIzM3nyySc5cOBAkcpfuHAhL730EoMGDWLWrFmsWrWK999/P991jx49ypw5c4q0n8sdR0FYrVaeeuopoqKi+O2339i+fbvzzyeffILRaOT5558nMDAw3+3NZjOBgYHObVasWEGfPn1Yv369c96MGTP417/+xZYtW9iwYQMNGzZ0KWPPnj35/ru8GDx4MGazmaVLlzrn/fbbbxw6dIgRI0Z4MDIREc9TAiIild727du55557qFu3br7L09PTGTVqFFFRUUUqPyMjg7feeovBgwfz8MMPc/311zNz5kzmz5+P1Wp1WdfhcPD0009jMplK/DgK4vTp0zzwwAP8/vvvzJ07l4CAAKxWq/PP7Nmz6d+/P23btiU5OZnk5GRsNptLGUajEaPRiMFgwGAwYLVaWb16NV5eXnh7e+Pt7c3Zs2fZt28ffn5++Pn55Ynj5MmTJCQkALB79+4iH4+nBAQEcPfdd7NkyRLn//GiRYvo3r07TZs29XB0IiKeZfZ0ACIinrZp0yaefPJJAObOnZtn+dmzZ6lSpQpz586lffv2hS5/x44dJCQk0L9/f+e8Ll26ABAZGUm7du2c8z/55BP27t3L6NGj+eyzz0r0OC7HZrMxfvx4EhMTcTgc9O3bN9/1tm3bxooVK5zT8+fPp3v37i7rGAwGFi9ezIsvvojZnPVTc/XVVzuX2+12bDYbV1xxBVarlc8//5y2bdsCUKdOHTIyMtizZw9t27bl4MGDXHnllYU+Hk+77777WLhwId999x3Nmzdn3bp1LFmyxNNhiYh4nGpARKTSu//++xk4cOBFl9euXZvXXnsNf3//IpV/5swZACIiIlzm16pViyNHjjinT5w4wcsvv8zUqVOpVq1aofdzueO4HJPJxBtvvMGnn35KUFAQzz77LJs2bWLTpk2sWrUKgBUrVjjnbdq0CZPJhJeXl0s5drsds9nMsGHD+Oeff5zNkDZs2EBkZCSRkZGMGzeOjh07snPnTnbt2kWbNm1cyoiIiGDPnj0cOHAAg8FAgwYNXJZ/88039OnThyuvvJLevXuzcuVKl+Vvvvkm9957L4mJiUybNo2uXbuyfv36fI87JSWFQYMGMWTIENLS0or8+V0oLCyM22+/nY8++oiPPvqItm3b0qFDhxIrX0SkvFICIiKV3uVGeCruCFBpaWmYTCYCAgJc5nt7exMTE+OcfuaZZ+jWrRt9+vQp0n5KYqSqGjVqEBwcjN1ux2QyufyBrP4dF867cL9paWlYLBbMZjNGo9HZRCs1NdXZbCszM9PZT8VkMuUpo1mzZuzevZs9e/YQHh7u0iTtr7/+YtKkSXTv3p0FCxbQv39/nnzySY4dO+ZSRmZmJsOGDePUqVOMGTOGRo0a5TnezMxMxo8fj81m491338XHx8dleVxcHEeOHOHcuXNF+Th54IEH2LFjB1999RUjR44sUhkiIhWNmmCJiJQyLy+vfPt0WCwW5xP3L774gt27d+d5ku8pqampTJ06lalTp7rMv1izrNzS09MJCgpyTmcf47XXXuuy3oW1Hrk1a9aMTz75hMDAwDw1Rz4+PsyYMYM77rgDk8lEo0aNePvtt4mMjKRevXrO9f7++2+GDh3KM888k+8+HA4HTz31FLt37+abb77JkyACLF68mLlz59KnTx9ee+21yx77hRo2bMh1113H3r17ufHGGwu9vYhIRaQERESklFWtWpWMjAxiY2MJCQlxzo+Pj8fPz4/Tp08ze/Zsnn/+eUJDQz0YaY74+Hjef/99rrvuOgCioqLo3r07a9eudenk3rJlyzzbJiYmEhYWhsPhIDo6mubNm7Nly5Z895Oamoqvr2+e+c2aNWPfvn0EBAQ4b+CztWrVirS0NGbPns2WLVvYvXs3Vqs1T/OpkJAQJkyYcNFjnD9/PklJScTFxXHu3LlS++xDQ0MJDg4ukRoqEZGKQAmIiEgpa9myJRaLhS1btjifgiclJXH48GGqV6/O77//TmJiIo888kiebSMiInj44YfzXVZajh8/TkZGBl5eXiQnJwM4Xx6YlpbmnHcxUVFRVK9encTERK6//nrMZnOeWhG73U5CQgJjxozh8ccfz1NGeHg4GRkZ/PHHH4wYMcIlAVmyZAmzZs1i4MCB3HvvvbRv355hw4blKaNp06aX7LeTlJTExx9/zJw5c3jhhRf44IMP8qzzyCOPuPWzFxGpDJSAiIiUssDAQK699lo++OADrr/+ekwmE5988gkOh4MuXbpgNBpZvny5yzZr167ls88+47333itSh/Ti2L59O5A1itOFCtIE68iRI7Rs2ZKgoCB27NhBdHQ0/fv3Z9asWc7RsqZMmcKOHTsYN25cvmV4e3tTv359Dh06REREhEvTtC+++II+ffowY8YMAGJiYlxe+FdQjz76KI0aNeLxxx+nb9++/Pzzz9xwww0u68TExBAbG0tAQAA1atQo9D5ERCQvJSAiIiUgMjKS2rVrU7Vq1XyXP/LII9xzzz3cdddd1K1bl++//557773X2eynSpUqLuv/888/eHl50aJFiwLvo6SsWLGCZs2a8e233zrnFbQJltVq5a+//uLuu+92zqtatSozZsxg0qRJvPPOO2zcuJGff/6Zzz77LM8IWrk1a9aMuLg4wsLCXOaHhISwbds21q9fz9mzZ5k3b16+7yO5nOzhgRs2bMidd97J7Nmzue6665zzIau2pTh9QEREJC81SBURKQF33nmnyw37ha644gq++OILatSowbFjx5g4cSL/+c9/SnQfJeGXX37hl19+4f7773eZn90Ey+FwOOfFxMQ4R8vKtm7dOjIyMvIMN9uzZ08GDRrEvffey5tvvslbb73l0mE8P82aNaNZs2Z55k+ZMoWqVavy0EMPMW/ePAYNGsQVV1zBX3/9Vejjzfbwww9z+vRpvadDRMQNDI7cvyYiIlJppaenM3DgQGrVqsV7772HwWBwLtu+fTuDBg1i1apVhIeHc//99/PHH39Qv359vvrqK2f/jnvvvZfg4GBefPFFTp06xdGjR9mxYwe///47Bw8e5IYbbmDfvn3s37+f1q1b06xZM6pWrUpoaCh33nnnJWtERESkYlACIiIiTomJiRgMhnyHpM3t9OnTpKam0qBBA5dEZf369fj5+VGvXj3uuusuQkNDad26NVdffTXdunVzJhjHjh3jjz/+YPv27ezdu5dGjRrx4osvluqxiYhI2aAERER
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(2,1)\n",
"ax[0].plot([i+1 for i in range(len(AngleMarkY.columns))],RYdescibe.loc['mean'],linestyle = '-.',marker = 'o',color='w')\n",
"AngleMarkY.boxplot(ax=ax[0])\n",
"ax[0].axhline(0,c='orange',ls='-.',label=r'Mean_Y:$0um\\pm0.10um$')\n",
"for i in range(len(AngleMarkY.columns)):\n",
" ax[0].annotate(round(RYdescibe.loc['mean'][i],2), \n",
" xy=(i+1,RYdescibe.loc['mean'][i]),\n",
" xytext=(i+0.95,RYdescibe.loc['mean'][i]+0.05),\n",
" color=\"r\")\n",
"ax[0].legend()\n",
"ax[0].set_title('mean_Y/Day')\n",
"ax[1].plot([i for i in AngleMarkY.columns],RYdescibe.loc['3sigma'],marker = 'o')\n",
"ax[1].axhline(0.8,c='orange',ls='-.',label=r'3sigma_Y:$<0.800um$')\n",
"for i in range(len(AngleMarkY.columns)):\n",
" ax[1].annotate(round(RYdescibe.loc['3sigma'][i],3), \n",
" xy=(i,RYdescibe.loc['3sigma'][i]),\n",
" xytext=(i,RYdescibe.loc['3sigma'][i]),\n",
" color=\"r\")\n",
"ax[1].legend() \n",
"ax[1].set_title('3sigam_Y/Day')\n",
"# ax[2].plot([i for i in AngleMarkY.columns],RYdescibe.loc['range'],marker = 'o')\n",
"# for i in range(len(AngleMarkY.columns)):\n",
"# ax[2].annotate(round(RYdescibe.loc['range'][i],3), \n",
"# xy=(i,RYdescibe.loc['range'][i]),\n",
"# xytext=(i,RYdescibe.loc['range'][i]),\n",
"# color=\"r\")\n",
"# ax[2].set_title('Range_Y/Day')\n",
"plt.suptitle(f'{wafer_name} 角度MarkY')\n",
"fig.tight_layout()\n",
"plt.savefig(f'Wafer/{wafer_name}角度MarkY.jpg',dpi=200)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "eedea695-7cb3-47b6-bdde-22fba05a7abd",
"metadata": {},
"outputs": [],
"source": [
"# data = {\n",
"# 'Wafer':wafer_name,\n",
"# 'FoupID':'PFP05961.18',\n",
"# 'Die': ['Die1-'+str(i) for i in range(1,88)] + ['Die2-'+str(i) for i in range(1,88)]+['Die3-'+str(i) for i in range(1,88)]+['Die4-'+str(i) for i in range(1,88)],\n",
"# 'M3X': AlignMarkX1.iloc[:,0].tolist() + AlignMarkX2.iloc[:,0].tolist() + AlignMarkX3.iloc[:,0].tolist() + AlignMarkX4.iloc[:,0].tolist(),\n",
"# 'M3Y': AlignMarkY1.iloc[:,0].tolist() + AlignMarkY2.iloc[:,0].tolist() + AlignMarkY3.iloc[:,0].tolist() + AlignMarkY4.iloc[:,0].tolist(),\n",
"# 'M1X': AngleMarkX1.iloc[:,0].tolist() + AngleMarkX2.iloc[:,0].tolist() + AngleMarkX3.iloc[:,0].tolist() + AngleMarkX4.iloc[:,0].tolist(),\n",
"# 'M1Y': AngleMarkY1.iloc[:,0].tolist() + AngleMarkY3.iloc[:,0].tolist() + AngleMarkY3.iloc[:,0].tolist() + AngleMarkY4.iloc[:,0].tolist(),\n",
"# 'Angle13':Angle1.iloc[:,0].tolist() + Angle2.iloc[:,0].tolist() + Angle3.iloc[:,0].tolist() + Angle4.iloc[:,0].tolist() ,\n",
"# }\n",
"# df_data = pd.DataFrame(data)\n",
"# df_data"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "142b971e-cc6a-4bd2-ae34-d31d9d941566",
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'df_data' is not defined",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[1;32mIn[22], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[43mdf_data\u001b[49m\u001b[38;5;241m.\u001b[39mto_excel(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mWafer/\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mwafer_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.xlsx\u001b[39m\u001b[38;5;124m'\u001b[39m)\n",
"\u001b[1;31mNameError\u001b[0m: name 'df_data' is not defined"
]
}
],
"source": [
"# df_data.to_excel(f'Wafer/{wafer_name}.xlsx')"
]
},
{
"cell_type": "markdown",
"id": "639173af",
"metadata": {},
"source": [
"## 补偿值计算"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "8d98319e-4d88-4a61-8169-9287018a57e3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Die4对位MarkX局部补偿um')"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "a5420a8250dc4a95bb09c5840482e850",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAImCAYAAACrXu7BAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydeXgb5fW2nxntiy3vzr46MZA9IQTSFMK+BGgohJZC2v6AAl0pUChQylKgJXzQjZICZStQKAVCoAQKLTsUKAlZHCCLsxAnJI4Ty7K1SzPz/TGa0Yw0I41kWZbkc18XF7E0m0ajmfd5z3nOYQRBEEAQBEEQBEEQBFEE2ME+AIIgCIIgCIIghg4kQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIArM+vXrcd5552H37t2a74dCIfA8n/a63++HIAgDfXhFo7u7G/v27TP0n9fr1d3Opk2bEI1G8z4OjuPg9/vzXh8AOjo6+rW+UXp6egbkGsh0fgmCIIoNCRCCIIgB4JNPPtEdSD799NM47bTTsH37dvk1r9eLk046CStWrCjWIQ44V1xxBY455hhD/91www2a24hGo/jhD3+I22+/Pe/juOGGG/CjH/0o7fUbb7wR5513Xtb1v/zyS5xwwgl48803sXPnTnAcBwD4y1/+gjPPPFNebsOGDeju7s77OPfs2YNzzz0X//nPf/LehhaCIODb3/42/vKXvxR0uwRBEPlCAoQgiJLno48+QmtrK1pbWzFr1iycc845eOaZZ3SX6y9+vx8LFy5UiYFNmzbh4YcfxuOPP44nnnhC/m/16tVp6zscDgAAwzCa23/99dfB8zzGjRsnv1ZbW4tjjjkGv/3tb9HX16e53nHHHYfW1lZ8+umnAMSB5ezZs9Ha2qobbcmVFStW4LjjjtN9/6233kJrays+/vhj+bUnnngChx12WFqUwGKx4KyzzsLmzZsz/ve9730PNptNtW5HRwe2bNmCjo4OnH/++Vi1ahXWrl2LrVu3YtOmTfD7/fI1ofzvgw8+SDvmSy65BKtXr8Zbb72lep3necRisazn5O2338bw4cOxYMECXHbZZVi2bBkAgGVZ+TsOBoO4/PLL8ec//znr9rTo7u7GBRdcgDPOOAMnnnhiXtvQg2EY/PGPf8TTTz+NRx55pKDbJgiCyAfzYB8AQRCEUe666y7U1NRg5cqVuOGGG7Bv3z78+Mc/lt+fMmUKnn322X7v584778TevXtVr/X29mLTpk0wm83yoPONN97AxRdfjKlTp8JqtYJl1XM6giAgEonAZDLBbBZvtzt37sTHH3+MK6+8EpFIBDt27JAH3yeddBIAYPv27XC73QDE9KFhw4ahurpa3u6mTZswZcoU7N69G4FAoN+fNxcWLlyIww47DI899hjmzp0LQRDw+OOP4/TTT8fo0aNVy5rNZoTDYXR1dWXcZigUSosW/f73v8frr78uD/IZhsFFF12EWCwGq9UqC6A777wT8+fPxxNPPIG///3vmDt3LgBRXASDQdhsNowfPx6rVq3C2LFjVftwOByyWMzEc889h3POOQcWiwW33HILvvvd7+KII46AyWSCyWQCANxyyy2orq7Gz372s6zbS0UQBPz85z/HCSecoLqeC8n48ePx0EMP4dxzz8Xs2bMxY8aMAdkPQRCEEUiAEARRNrS0tODQQw/FV7/6VUQiEdx///341re+hfr6egCA2+3GtGnT+rWPDz74ACtWrIDdble9fsQRR+CII45QvTZv3jxUV1frDuZOOOEEAGKqztFHHw0AePzxxyEIAo4//nh88cUXOPfcc9PEy7///W/53/F4HHfddZe8LQDYvHkzAFGIDAaXXnoprrzySuzZswdbt27FF198geXLl6ctx7IsXnnlFbzyyitZt6n8fABw991347nnnkNHRwd++tOfAgBee+013HLLLVixYgVYloXD4UB1dTUaGxuxYcMGHH/88bLQ27FjB0477bS0/Tz22GOYN2+e6rVQKITt27djypQpacuvXbsWbW1tWLp0KQDxO//DH/6Ar3zlK3j66afl5Y477jh8//vfT4vkGOGtt97Cnj17cO+99+a8bi6MHTsW11xzDX7961+rjp0gCKLYkAAhCKIs+cY3voF///vfePfdd7F48eKCbDMYDOKGG27AxRdfjBdffFH1XigUwt13340f//jH8Hg82LNnD3w+H44//ngcddRRqKqqkge/27Ztw5IlS/DPf/4TDQ0NcjRj//79coTG5XJh2LBh2LhxY07HOGvWLFl4bN68GTNmzMD69ev7+9Fz4qSTTsLYsWPxt7/9DZs2bcJJJ52EiRMnai67ePFiQ/6N1OgRIEZQ7rvvPhx33HGYPn06Xn31VRxyyCFobm6W3weAQCCAjz/+GPfdd5+87ujRo/Hvf/8bNpsNFosFV199NaLRaJr4AICHHnoIf/vb3/Diiy+isbFR9Z5SFCxYsAA9PT1pqXVK0RuPx7FkyRL86le/yvqZJZ588kmcf/75sFqthtfJlzPPPBN33303PvvsMxx22GEDvj+CIAgtyANCEERZcsghhwAQB/sSmTwgn3/+Ob797W9j+vTpOP744/Hoo4+mLXP33XfD5XLhhz/8Ydp7HMdhw4YN+P73v49IJIJ3330XhxxyCOrq6uBwOLBv3z64XC64XC45euJ0OlFXVycPLO+66660GfL29nbcfvvtqqpYHMfhmGOOwZ133pl2HJMnT1ZFQCZPnqx6/8CBA7jiiiswb948HHHEEbj88svTjNGtra346KOP8Oabb2LJkiW48MILNc8ZALz88suYOnWqyhjNsiwuvfRSPPXUU/jvf/+LSy+9VHNdjuMQDodx4MCBrP/t379fTtWKxWLo6OjA3LlzMXHiRKxfvx7btm3Da6+9hnPOOQcdHR3o7e2V9/Pmm2+iqqoKRx55pPya1WrFmDFj0NzcjPb2dnz00Ue44YYbEAgE8Pnnn6uO8+KLL4bL5Uozwr/99ttoa2vD8OHD5W0+9NBDWLNmDdra2uT/NmzYgE8++QQff/wxjj322JyFxIYNG3DMMcdovrd06VLcc889qteuvfZaXHvttdi9ezdaW1vxyCOP4KijjsLpp5+ODz74AMceeywWLFiADRs2pG3PYrHgqKOOKrpoJQiCUEIREIIgyhKPxwMA8Pl8WZf1er347ne/i3nz5uHBBx/Eli1b8Otf/xoulwtLliwBAKxevRr/+Mc/8I9//AMWiyVtG263Gw899BAuuOACXHnllQiHw/Kg8U9/+hPa2toy+k/+85//4IUXXsDNN9+Mm2++WX49EongsccewwknnCDPzu/YsQP79u3D+PHj07YzadIk/OMf/0BnZyc2b94spwZJXHPNNdi5cyfuvPNOmEwm3HHHHbjrrrvw61//WrXcv/71L7z22ms499x
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAImCAYAAACrXu7BAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydeXgb5fW2nxntiy3vzr46MZA9IQTSFMK+BGgohJZC2v6AAl0pUChQylKgJXzQjZICZStQKAVCoAQKLTsUKAlZHCCLsxAnJI4Ty7K1SzPz/TGa0Yw0I41kWZbkc18XF7E0m0ajmfd5z3nOYQRBEEAQBEEQBEEQBFEE2ME+AIIgCIIgCIIghg4kQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIAiCIAiCKBokQAiCIArM+vXrcd5552H37t2a74dCIfA8n/a63++HIAgDfXhFo7u7G/v27TP0n9fr1d3Opk2bEI1G8z4OjuPg9/vzXh8AOjo6+rW+UXp6egbkGsh0fgmCIIoNCRCCIIgB4JNPPtEdSD799NM47bTTsH37dvk1r9eLk046CStWrCjWIQ44V1xxBY455hhD/91www2a24hGo/jhD3+I22+/Pe/juOGGG/CjH/0o7fUbb7wR5513Xtb1v/zyS5xwwgl48803sXPnTnAcBwD4y1/+gjPPPFNebsOGDeju7s77OPfs2YNzzz0X//nPf/LehhaCIODb3/42/vKXvxR0uwRBEPlCAoQgiJLno48+QmtrK1pbWzFr1iycc845eOaZZ3SX6y9+vx8LFy5UiYFNmzbh4YcfxuOPP44nnnhC/m/16tVp6zscDgAAwzCa23/99dfB8zzGjRsnv1ZbW4tjjjkGv/3tb9HX16e53nHHHYfW1lZ8+umnAMSB5ezZs9Ha2qobbcmVFStW4LjjjtN9/6233kJrays+/vhj+bUnnngChx12WFqUwGKx4KyzzsLmzZsz/ve9730PNptNtW5HRwe2bNmCjo4OnH/++Vi1ahXWrl2LrVu3YtOmTfD7/fI1ofzvgw8+SDvmSy65BKtXr8Zbb72lep3necRisazn5O2338bw4cOxYMECXHbZZVi2bBkAgGVZ+TsOBoO4/PLL8ec//znr9rTo7u7GBRdcgDPOOAMnnnhiXtvQg2EY/PGPf8TTTz+NRx55pKDbJgiCyAfzYB8AQRCEUe666y7U1NRg5cqVuOGGG7Bv3z78+Mc/lt+fMmUKnn322X7v584778TevXtVr/X29mLTpk0wm83yoPONN97AxRdfjKlTp8JqtYJl1XM6giAgEonAZDLBbBZvtzt37sTHH3+MK6+8EpFIBDt27JAH3yeddBIAYPv27XC73QDE9KFhw4ahurpa3u6mTZswZcoU7N69G4FAoN+fNxcWLlyIww47DI899hjmzp0LQRDw+OOP4/TTT8fo0aNVy5rNZoTDYXR1dWXcZigUSosW/f73v8frr78uD/IZhsFFF12EWCwGq9UqC6A777wT8+fPxxNPPIG///3vmDt3LgBRXASDQdhsNowfPx6rVq3C2LFjVftwOByyWMzEc889h3POOQcWiwW33HILvvvd7+KII46AyWSCyWQCANxyyy2orq7Gz372s6zbS0UQBPz85z/HCSecoLqeC8n48ePx0EMP4dxzz8Xs2bMxY8aMAdkPQRCEEUiAEARRNrS0tODQQw/FV7/6VUQiEdx///341re+hfr6egCA2+3GtGnT+rWPDz74ACtWrIDdble9fsQRR+CII45QvTZv3jxUV1frDuZOOOEEAGKqztFHHw0AePzxxyEIAo4//nh88cUXOPfcc9PEy7///W/53/F4HHfddZe8LQDYvHkzAFGIDAaXXnoprrzySuzZswdbt27FF198geXLl6ctx7IsXnnlFbzyyitZt6n8fABw991347nnnkNHRwd++tOfAgBee+013HLLLVixYgVYloXD4UB1dTUaGxuxYcMGHH/88bLQ27FjB0477bS0/Tz22GOYN2+e6rVQKITt27djypQpacuvXbsWbW1tWLp0KQDxO//DH/6Ar3zlK3j66afl5Y477jh8//vfT4vkGOGtt97Cnj17cO+99+a8bi6MHTsW11xzDX7961+rjp0gCKLYkAAhCKIs+cY3voF///vfePfdd7F48eKCbDMYDOKGG27AxRdfjBdffFH1XigUwt13340f//jH8Hg82LNnD3w+H44//ngcddRRqKqqkge/27Ztw5IlS/DPf/4TDQ0NcjRj//79coTG5XJh2LBh2LhxY07HOGvWLFl4bN68GTNmzMD69ev7+9Fz4qSTTsLYsWPxt7/9DZs2bcJJJ52EiRMnai67ePFiQ/6N1OgRIEZQ7rvvPhx33HGYPn06Xn31VRxyyCFobm6W3weAQCCAjz/+GPfdd5+87ujRo/Hvf/8bNpsNFosFV199NaLRaJr4AICHHnoIf/vb3/Diiy+isbFR9Z5SFCxYsAA9PT1pqXVK0RuPx7FkyRL86le/yvqZJZ588kmcf/75sFqthtfJlzPPPBN33303PvvsMxx22GEDvj+CIAgtyANCEERZcsghhwAQB/sSmTwgn3/+Ob797W9j+vTpOP744/Hoo4+mLXP33XfD5XLhhz/8Ydp7HMdhw4YN+P73v49IJIJ3330XhxxyCOrq6uBwOLBv3z64XC64XC45euJ0OlFXVycPLO+66660GfL29nbcfvvtqqpYHMfhmGOOwZ133pl2HJMnT1ZFQCZPnqx6/8CBA7jiiiswb948HHHEEbj88svTjNGtra346KOP8Oabb2LJkiW48MILNc8ZALz88suYOnWqyhjNsiwuvfRSPPXUU/jvf/+LSy+9VHNdjuMQDodx4MCBrP/t379fTtWKxWLo6OjA3LlzMXHiRKxfvx7btm3Da6+9hnPOOQcdHR3o7e2V9/Pmm2+iqqoKRx55pPya1WrFmDFj0NzcjPb2dnz00Ue44YYbEAgE8Pnnn6uO8+KLL4bL5Uozwr/99ttoa2vD8OHD5W0+9NBDWLNmDdra2uT/NmzYgE8++QQff/wxjj322JyFxIYNG3DMMcdovrd06VLcc889qteuvfZaXHvttdi9ezdaW1vxyCOP4KijjsLpp5+ODz74AMceeywWLFiADRs2pG3PYrHgqKOOKrpoJQiCUEIREIIgyhKPxwMA8Pl8WZf1er347ne/i3nz5uHBBx/Eli1b8Otf/xoulwtLliwBAKxevRr/+Mc/8I9//AMWiyVtG263Gw899BAuuOACXHnllQiHw/Kg8U9/+hPa2toy+k/+85//4IUXXsDNN9+Mm2++WX49EongsccewwknnCDPzu/YsQP79u3D+PHj07YzadIk/OMf/0BnZyc2b94spwZJXHPNNdi5cyfuvPNOmEw
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# BC_X = pd.concat([AlignMarkX[i]-AlignMarkX[i].mean() for i in AlignMarkX.columns[-2:]],axis=1)\n",
"# BC_X.plot(marker='o')\n",
"# plt.title('Die4对位MarkX局部补偿um')"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "87a0e5e3-6edb-4c8b-ac86-56d1f114ba0f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Die4对位MarkX局部补偿um')"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "a94c9eb1e737470facc332de4af5f2cb",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# BC_X = BC_X.where(abs(BC_X)<1, np.nan)\n",
"# BC_X.plot(marker='o')\n",
"# plt.title('Die4对位MarkX局部补偿um')"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "4f0598f9-0366-4c7b-b5a7-c89e286746ca",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Die4对位MarkYum')"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "775420c05c56483cb3617427ab3ef0ae",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# BC_Y = pd.concat([AlignMarkY[i]-AlignMarkY[i].mean() for i in AlignMarkY.columns[-2:]],axis=1)\n",
"# BC_Y.plot(marker='o')\n",
"# plt.title('Die4对位MarkYum')"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "c7268828-7bd4-40c9-8ea6-24c4490c2d79",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Die4对位MarkY局部补偿um')"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "034de69ce1924b558eb7637f74f1a76b",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAImCAYAAACrXu7BAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydeZwcdbX2n6re9+7Zs0zWyUxCFpIJISxRAkRFEAQlcBVQXkQE5aqgoviiwFVUeMXlXkVEVBT1yo4LKJEdFJBsJAQykz0zmczey/S+VL1/1N7d1dv09Mwk5/v58GFSXV1dXV3L7/mdc57D8DzPgyAIgiAIgiAIogawk70DBEEQBEEQBEEcP5AAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCqDJvvfUWPvaxj6G3tzfv67FYDBzH5SwPh8PgeX6id69mjI6Oor+/v6T//H6/7nZ2796NZDJZ8X5kMhmEw+GK3w8APT0943p/qQQCgQk5BwodX4IgiFpDAoQgCGIC2Lp1q+5A8qGHHsK5556L/fv3y8v8fj/e//734/HHH6/VLk44N9xwA84444yS/rvlllvybiOZTOJzn/sc7rjjjor345ZbbsH111+fs/yb3/wmPvaxjxV9f19fHzZs2IAXXngBBw8eRCaTAQD84he/wAUXXCCvt2PHDoyOjla8n0eOHMEll1yCZ599tuJt5IPneXziE5/AL37xi6pulyAIolJIgBAEMeV544030NHRgY6ODqxatQoXX3wxHnnkEd31xks4HMb69es1YmD37t341a9+hQcffBC/+93v5P82b96c836bzQYAYBgm7/afe+45cByHefPmyct8Ph/OOOMM/OAHP8DY2Fje95111lno6OjArl27AAgDy87OTnR0dOhGW8rl8ccfx1lnnaX7+u23344zzjgD6XRaXhaLxXDyySfjf/7nfzTrmkwmXHTRRejq6ir436c//WlYLBbNe3t6etDd3Y2enh5cdtlleOqpp7Bt2zbs2bMHu3fvRjgcls8J9X+vvfZazj5fc8012Lx5M1588UXNco7jkEqlih6Tl156CTNmzMC6detw7bXX4s477wQAsCwr/8bRaBRf+MIX8LOf/azo9vIxOjqKyy+/HOeffz7e9773VbQNPRiGwX//93/joYcewq9//euqbpsgCKISjJO9AwRBEKXy/e9/H16vF08++SRuueUW9Pf34z//8z/l15cuXYpHH3103J9z11134ejRo5ploVAIu3fvhtFolAedzz//PK6++mosW7YMZrMZLKud0+F5HolEAgaDAUajcLs9ePAg3nzzTdx4441IJBI4cOCAPPh+//vfDwDYv38/nE4nACF9qKWlBW63W97u7t27sXTpUvT29iISiYz7+5bDVVddhYceegjPPPMMzjvvPADAE088gWQyicsuu0yzrtFoRDwex9DQUMFtxmKxnGjRj370Izz33HPyIJ9hGHzqU59CKpWC2WzGm2++CUD4rU477TT87ne/wx//+EesWbMGgCAuotEoLBYL5s+fj6eeegpz587VfIbNZpPFYiEee+wxXHzxxTCZTLj99ttx5ZVX4uSTT4bBYIDBYAAgCDO3240vf/nLRbeXDc/z+OpXv4oNGzZozudqMn/+fPzyl7/EJZdcgs7OTpx44okT8jkEQRClQAKEIIhpQ1tbG5YsWYL3vOc9SCQS+PnPf46Pf/zjqK+vBwA4nU4sX758XJ/x2muv4fHHH4fVatUsP/nkk3HyySdrlq1duxZut1t3MLdhwwYAQqrOe9/7XgDAgw8+CJ7ncfbZZ+PQoUO45JJLcsTLP/7xD/nvdDqN73//+/K2AKCrqwuAIERqTWtrK8455xz85je/wXnnnQee5/Hggw/iIx/5COrq6jTrsiyLv/3tb/jb3/5WdLvq7wcAd999Nx577DH09PTgi1/8IgBg06ZNuP322/H444+DZVnYbDa43W40NjZix44dOPvss2Whd+DAAZx77rk5n/Pb3/4Wa9eu1SyLxWLYv38/li5dmrP+tm3bsHPnTlxxxRUAhN/8xz/+MU4//XQ89NBD8npnnXUWrrvuupxITim8+OKLOHLkCH7605+W/d5ymDt3Lm666SZ85zvf0ew7QRBErSEBQhDEtOTSSy/FP/7xD7zyyiu48MILq7LNaDSKW265BVdffTX+/Oc/a16LxWK4++678Z//+Z/weDw4cuQIgsEgzj77bJx66qlwuVzy4Hffvn3YuHEj/vKXv6ChoUGOZgwODsoRGofDgZaWFrz99ttl7eOqVatk4dHV1YUTTzwRb7311ni/ell8+tOfxoUXXoht27YhFArh0KFDuO+++/Kue+GFF5ZUv5EdPQKECMq9996Ls846CytWrMAzzzyDxYsXo7m5WX4dACKRCN58803ce++98ntbW1vxj3/8AxaLBSaTCV/5yleQTCZzxAcA/PKXv8Tvf/97/PnPf0ZjY6PmNbUoWLduHQKBQE5qnVr0ptNpbNy4Ef/1X/9V9DtL/OEPf8Bll10Gs9lc8nsq5YILLsDdd9+Nd955ByeccMKEfx5BEEQ+qAaEIIhpyeLFiwEIg32JQjUg7777Lj7xiU9gxYoVOPvss/HAAw/krHP33XfD4XDgc5/7XM5rmUwGO3bswHXXXYdEIoFXXnkFixcvRl1dHWw2G/r7++FwOOBwOOToid1uR11dnTyw/P73v58zQ753717ccccdGlesTCaDM844A3fddVfOfrS3t2siIO3t7ZrXh4eHccMNN2Dt2rU4+eST8YUvfCGnMLqjowNvvPEGXnjhBWzcuBFXXXVV3mMGAE8//TSWLVumKYxesmQJ1q1bh9/85jf4zW9+g3POOQetra15j1k8Hsfw8HDR/wYHB+VUrVQqhZ6eHqxZswYLFy7EW2+9hX379mHTpk24+OKL0dPTg1AoJH/OCy+8AJfLhVNOOUVeZjabMWfOHDQ3N2Pv3r144403cMsttyASieDdd9/V7OfVV18Nh8ORUwj/0ksvYefOnZgxY4a8zV/+8pfYsmULdu7cKf+3Y8cObN26FW+++SbOPPPMsoXEjh07cMYZZ+R97Yorrsiprfna176Gr33ta+jt7UVHRwd+/etf49RTT8WHPvQhvPbaazjzzDOxbt067NixI2d7JpMJp556as1FK0EQhBqKgBAEMS3xeDwAgGAwWHRdv9+PK6+8EmvXrsX999+P7u5ufOc734HD4cDGjRsBAJs3b8bDDz+Mhx9+GCaTKWcbTqcTv/zlL3H55ZfjxhtvRDwelweNP/nJT7Bz586C9SfPPvss/vSnP+G2227DbbfdJi9PJBL47W9/iw0bNsiz8wcOHEB/fz/mz5+fs51Fixbh4YcfxsDAALq6uuTUIImbbroJBw8exF133QWDwYDvfe97+P73v4/vfOc7mvX
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAImCAYAAACrXu7BAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydeZwcdbX2n6re9+7Zs0zWyUxCFpIJISxRAkRFEAQlcBVQXkQE5aqgoviiwFVUeMXlXkVEVBT1yo4LKJEdFJBsJAQykz0zmczey/S+VL1/1N7d1dv09Mwk5/v58GFSXV1dXV3L7/mdc57D8DzPgyAIgiAIgiAIogawk70DBEEQBEEQBEEcP5AAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCIAiCIAiiZpAAIQiCqDJvvfUWPvaxj6G3tzfv67FYDBzH5SwPh8PgeX6id69mjI6Oor+/v6T//H6/7nZ2796NZDJZ8X5kMhmEw+GK3w8APT0943p/qQQCgQk5BwodX4IgiFpDAoQgCGIC2Lp1q+5A8qGHHsK5556L/fv3y8v8fj/e//734/HHH6/VLk44N9xwA84444yS/rvlllvybiOZTOJzn/sc7rjjjor345ZbbsH111+fs/yb3/wmPvaxjxV9f19fHzZs2IAXXngBBw8eRCaTAQD84he/wAUXXCCvt2PHDoyOjla8n0eOHMEll1yCZ599tuJt5IPneXziE5/AL37xi6pulyAIolJIgBAEMeV544030NHRgY6ODqxatQoXX3wxHnnkEd31xks4HMb69es1YmD37t341a9+hQcffBC/+93v5P82b96c836bzQYAYBgm7/afe+45cByHefPmyct8Ph/OOOMM/OAHP8DY2Fje95111lno6OjArl27AAgDy87OTnR0dOhGW8rl8ccfx1lnnaX7+u23344zzjgD6XRaXhaLxXDyySfjf/7nfzTrmkwmXHTRRejq6ir436c//WlYLBbNe3t6etDd3Y2enh5cdtlleOqpp7Bt2zbs2bMHu3fvRjgcls8J9X+vvfZazj5fc8012Lx5M1588UXNco7jkEqlih6Tl156CTNmzMC6detw7bXX4s477wQAsCwr/8bRaBRf+MIX8LOf/azo9vIxOjqKyy+/HOeffz7e9773VbQNPRiGwX//93/joYcewq9//euqbpsgCKISjJO9AwRBEKXy/e9/H16vF08++SRuueUW9Pf34z//8z/l15cuXYpHH3103J9z11134ejRo5ploVAIu3fvhtFolAedzz//PK6++mosW7YMZrMZLKud0+F5HolEAgaDAUajcLs9ePAg3nzzTdx4441IJBI4cOCAPPh+//vfDwDYv38/nE4nACF9qKWlBW63W97u7t27sXTpUvT29iISiYz7+5bDVVddhYceegjPPPMMzjvvPADAE088gWQyicsuu0yzrtFoRDwex9DQUMFtxmKxnGjRj370Izz33HPyIJ9hGHzqU59CKpWC2WzGm2++CUD4rU477TT87ne/wx//+EesWbMGgCAuotEoLBYL5s+fj6eeegpz587VfIbNZpPFYiEee+wxXHzxxTCZTLj99ttx5ZVX4uSTT4bBYIDBYAAgCDO3240vf/nLRbeXDc/z+OpXv4oNGzZozudqMn/+fPzyl7/EJZdcgs7OTpx44okT8jkEQRClQAKEIIhpQ1tbG5YsWYL3vOc9SCQS+PnPf46Pf/zjqK+vBwA4nU4sX758XJ/x2muv4fHHH4fVatUsP/nkk3HyySdrlq1duxZut1t3MLdhwwYAQqrOe9/7XgDAgw8+CJ7ncfbZZ+PQoUO45JJLcsTLP/7xD/nvdDqN73//+/K2AKCrqwuAIERqTWtrK8455xz85je/wXnnnQee5/Hggw/iIx/5COrq6jTrsiyLv/3tb/jb3/5WdLvq7wcAd999Nx577DH09PTgi1/8IgBg06ZNuP322/H444+DZVnYbDa43W40NjZix44dOPvss2Whd+DAAZx77rk5n/Pb3/4Wa9eu1SyLxWLYv38/li5dmrP+tm3bsHPnTlxxxRUAhN/8xz/+MU4//XQ89NBD8npnnXUWrrvuupxITim8+OKLOHLkCH7605+W/d5ymDt3Lm666SZ85zvf0ew7QRBErSEBQhDEtOTSSy/FP/7xD7zyyiu48MILq7LNaDSKW265BVdffTX+/Oc/a16LxWK4++678Z//+Z/weDw4cuQIgsEgzj77bJx66qlwuVzy4Hffvn3YuHEj/vKXv6ChoUGOZgwODsoRGofDgZaWFrz99ttl7eOqVatk4dHV1YUTTzwRb7311ni/ell8+tOfxoUXXoht27YhFArh0KFDuO+++/Kue+GFF5ZUv5EdPQKECMq9996Ls846CytWrMAzzzyDxYsXo7m5WX4dACKRCN58803ce++98ntbW1vxj3/8AxaLBSaTCV/5yleQTCZzxAcA/PKXv8Tvf/97/PnPf0ZjY6PmNbUoWLduHQKBQE5qnVr0ptNpbNy4Ef/1X/9V9DtL/OEPf8Bll10Gs9lc8nsq5YILLsDdd9+Nd955ByeccMKEfx5BEEQ+qAaEIIhpyeLFiwEIg32JQjUg7777Lj7xiU9gxYoVOPvss/HAAw/krHP33XfD4XDgc5/7XM5rmUwGO3bswHXXXYdEIoFXXnkFixcvRl1dHWw2G/r7++FwOOBwOOToid1uR11dnTyw/P73v58zQ753717ccccdGlesTCaDM844A3fddVfOfrS3t2siIO3t7ZrXh4eHccMNN2Dt2rU4+eST8YUvfCGnMLqjowNvvPEGXnjhBWzcuBFXXXVV3mMGAE8//TSWLVumKYxesmQJ1q1bh9/85jf4zW9+g3POOQetra15j1k8Hsfw8HDR/wYHB+VUrVQqhZ6eHqxZswYLFy7EW2+9hX379mHTpk24+OKL0dPTg1AoJH/OCy+8AJfLhVNOOUVeZjabMWfOHDQ3N2Pv3r144403cMsttyASieDdd9/V7OfVV18Nh8ORUwj/0ksvYefOnZgxY4a8zV/+8pfYsmULdu7cKf+3Y8cObN26FW+++SbOPPPMsoXEjh07cMYZZ+R97Yorrsiprfna176Gr33ta+jt7UVHRwd+/etf49RTT8WHPvQhvPbaazjzzDOxbt067NixI2d7JpMJp556as1FK0EQhBqKgBAEMS3xeDwAgGAwWHRdv9+PK6+8EmvXrsX999+P7u5ufOc734HD4cDGjRsBAJs3b8bDDz+Mhx9+GCaTKWcbTqcTv/zlL3H55ZfjxhtvRDwelweNP/nJT7Bz586C9SfPPvss/vSnP+G2227DbbfdJi9PJBL47W9/iw0bNsiz8wcOHEB/fz/mz5+fs51Fixbh4YcfxsDAALq6uuTUIImbbro
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# BC_Y = BC_Y.where(abs(BC_Y)<1, np.nan)\n",
"# BC_Y.plot(marker='o')\n",
"# plt.title('Die4对位MarkY局部补偿um')"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "f329200b-3c6e-4afe-b828-76955152a20d",
"metadata": {},
"outputs": [],
"source": [
"# DieBC = pd.read_excel('SP-Die补偿模版.xlsx',index_col=0,header=0)\n",
"# DieBC"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "eb31be2e-02c5-4030-a839-5b95e88f1e29",
"metadata": {},
"outputs": [],
"source": [
"# BC_X = BC_X.mean(axis=1)\n",
"# DieBC['对位MarkX'] = BC_X.fillna(BC_X.interpolate()).values\n",
"# BC_Y = BC_Y.mean(axis=1)\n",
"# DieBC['对位MarkY'] = BC_Y.fillna(BC_Y.interpolate()).values\n",
"\n",
"# DieBC['Angle'] = 0\n",
"# DieBC"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "0e8cc7f0-c040-42f6-8d71-bad5ae70f983",
"metadata": {},
"outputs": [],
"source": [
"# DieBC.to_excel(f'Die4/Die4局部补偿9-17.xlsx')"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "b62b7df1",
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"# DieBC = pd.read_excel('Die补偿模版.xlsx',index_col=0,header=0)\n",
"# DieBC"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "314a6f16-ce4a-4c0f-b6ac-469149f08efd",
"metadata": {},
"outputs": [],
"source": [
"# num = -2\n",
"# AlX981 = AlignMarkX.iloc[:,num]-AlignMarkX.iloc[:,num].mean()\n",
"# AlX981 = AlX981.fillna(AlX981.interpolate()).values\n",
"\n",
"# AlY981 = AlignMarkY.iloc[:,num]-AlignMarkY.iloc[:,num].mean()\n",
"# AlY981 = AlY981.fillna(AlY981.interpolate()).values\n",
"\n",
"# AnX981 = AngleMarkX.iloc[:,num]-AngleMarkX.iloc[:,num].mean()\n",
"# AnX981 = AnX981.fillna(AnX981.interpolate()).values\n",
"\n",
"# AnY981 = AngleMarkY.iloc[:,num]-AngleMarkY.iloc[:,num].mean()\n",
"# AnY981 = AnY981.fillna(AnY981.interpolate()).values\n",
"\n",
"# DieBC['Top Mark1 X'] = AlX981\n",
"# DieBC['Top Mark1 Y'] = AlY981\n",
"# DieBC['Top Mark2 X'] = AnX981\n",
"# DieBC['Top Mark2 Y'] = AnY981\n",
"# DieBC.to_excel(f'Die4/Die4设备方向偏差9-8-1.xlsx')"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "6c5a2f19-d47c-45b3-9a31-8fe891cc1400",
"metadata": {},
"outputs": [],
"source": [
"# num = -1\n",
"# AlX982 = AlignMarkX.iloc[:,num]#-AlignMarkX.iloc[:,num].mean()\n",
"# # AlX982 = AlX982.fillna(AlX982.interpolate()).values\n",
"\n",
"# AlY982 = AlignMarkY.iloc[:,num]#-AlignMarkY.iloc[:,num].mean()\n",
"# # AlY982 = AlY982.fillna(AlY982.interpolate()).values\n",
"\n",
"# AnX982 = AngleMarkX.iloc[:,num]#-AngleMarkX.iloc[:,num].mean()\n",
"# # AnX982 = AnX982.fillna(AnX982.interpolate()).values\n",
"\n",
"# AnY982 = AngleMarkY.iloc[:,num]#-AngleMarkY.iloc[:,num].mean()\n",
"# # AnY982 = AnY982.fillna(AnY982.interpolate()).values\n",
"\n",
"# DieBC['Top Mark1 X'] = AlX982\n",
"# DieBC['Top Mark1 Y'] = AlY982\n",
"# DieBC['Top Mark2 X'] = AnX982\n",
"# DieBC['Top Mark2 Y'] = AnY982\n",
"# DieBC.to_excel(f'Die4/Die4设备方向偏差9-13-1.xlsx')"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "7cbb472b-9ce4-43b2-929f-f8839aa6e143",
"metadata": {},
"outputs": [],
"source": [
"# DieBC['Top Mark1 X'] = (AlX982 + AlX981)/2\n",
"# DieBC['Top Mark1 Y'] = (AlY982 + AlY981)/2\n",
"# DieBC['Top Mark2 X'] = (AnX982 + AnX981)/2\n",
"# DieBC['Top Mark2 Y'] = (AnY982 + AnY981)/2\n",
"# DieBC.to_excel(f'Die4/Die4补偿值9-9.xlsx')"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "1858da30",
"metadata": {},
"outputs": [],
"source": [
"# DieBC['Top Mark1 X'] = AlignMarkX.iloc[:,1:].fillna(AlignMarkX.iloc[:,1:].interpolate()).values\n",
"# DieBC['Top Mark1 Y'] = AlignMarkY.iloc[:,1:].fillna(AlignMarkY.iloc[:,1:].interpolate()).values\n",
"# DieBC['Top Mark2 X'] = AngleMarkX.iloc[:,1:].fillna(AngleMarkX.iloc[:,1:].interpolate()).values\n",
"# DieBC['Top Mark2 Y'] = AngleMarkY.iloc[:,1:].fillna(AngleMarkY.iloc[:,1:].interpolate()).values"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "30ccc3df-e5ad-430c-8ac8-0dd074d7f682",
"metadata": {},
"outputs": [],
"source": [
"# DieBC.to_excel(f'Die4/Die4补偿值9-3.xlsx')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6d74cea0",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.9"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"state": {
"21d8b0ba77b54fbfabcdf5f52b80df1a": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {}
},
"2a0670114f11457b80a6ef3ef22a34fc": {
"model_module": "jupyter-matplotlib",
"model_module_version": "^0.11",
"model_name": "ToolbarModel",
"state": {
"_model_module_version": "^0.11",
"_view_module_version": "^0.11",
"collapsed": true,
"layout": "IPY_MODEL_f7658ea254754f89ae1eaaca3822afd1",
"orientation": "vertical",
"toolitems": [
[
"Home",
"Reset original view",
"home",
"home"
],
[
"Back",
"Back to previous view",
"arrow-left",
"back"
],
[
"Forward",
"Forward to next view",
"arrow-right",
"forward"
],
[
"Pan",
"Left button pans, Right button zooms\nx/y fixes axis, CTRL fixes aspect",
"arrows",
"pan"
],
[
"Zoom",
"Zoom to rectangle\nx/y fixes axis",
"square-o",
"zoom"
],
[
"Download",
"Download plot",
"floppy-o",
"save_figure"
]
]
}
},
"2d1533973ff749659dd783abe0db740f": {
"model_module": "jupyter-matplotlib",
"model_module_version": "^0.11",
"model_name": "ToolbarModel",
"state": {
"_model_module_version": "^0.11",
"_view_module_version": "^0.11",
"collapsed": true,
"layout": "IPY_MODEL_b8d4c7781ff5497da21ab97b922bac2f",
"orientation": "vertical",
"toolitems": [
[
"Home",
"Reset original view",
"home",
"home"
],
[
"Back",
"Back to previous view",
"arrow-left",
"back"
],
[
"Forward",
"Forward to next view",
"arrow-right",
"forward"
],
[
"Pan",
"Left button pans, Right button zooms\nx/y fixes axis, CTRL fixes aspect",
"arrows",
"pan"
],
[
"Zoom",
"Zoom to rectangle\nx/y fixes axis",
"square-o",
"zoom"
],
[
"Download",
"Download plot",
"floppy-o",
"save_figure"
]
]
}
},
"30e39652821f45d4b6a059be76bf8b9b": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {}
},
"403a3e58c30643c69e94e76f12bc0587": {
"model_module": "jupyter-matplotlib",
"model_module_version": "^0.11",
"model_name": "MPLCanvasModel",
"state": {
"_data_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAAKvCAYAAAD5ieWEAAAAAXNSR0IArs4c6QAAIABJREFUeF7snQd0VNX2xr+Z9ISENOwN7B2sPCyAigIiioIFn+XZQGyIVCk+ERWxIYgFfBbsoqiIFRHFhgqKoogN+98GJCSkJzP/te/NJDOTKXdm9iRzM99Zy6Vmzt3n3N8p93yn7ONwu91uMJAACZAACZAACZAACZAACZAACZAACbQpAQcFepvyZ+IkQAIkQAIkQAIkQAIkQAIkQAIkYBCgQGdFIAESIAESIAESIAESIAESIAESIIEEIECBngCFwCyQAAmQAAmQAAmQAAmQAAmQAAmQAAU66wAJkAAJkAAJkAAJkAAJkAAJkAAJJAABCvQEKARmgQRIgARIgARIgARIgARIgARIgAQo0FkHSIAESIAESIAESIAESIAESIAESCABCFCgJ0AhMAskQAIkQAIkQAIkQAIkQAIkQAIkQIHOOkACJEACJEACJEACJEACJEACJEACCUCAAj0BCoFZIAESIAESIAESIAESIAESIAESIAEKdNYBEiABEiABEiABEiABEiABEiABEkgAAhToCVAIzAIJkAAJkAAJkAAJkAAJkAAJkAAJUKCzDpAACZAACZAACZAACZAACZAACZBAAhCgQE+AQmAWSIAESIAEkpvA8OHDsd9+++GSSy5Benp6csPg25MACZAACZBAEhOgQE/iwuerkwAJkAAJtD2B33//Hccccwz23XdfLFy4sO0zxByQAAmQAAmQAAm0GQEK9DZDz4RJgARIgAQCEfjtt99w7LHHGj85HA507NgRu+66K0488UScfvrpSEtLCwhOxO2ECRMwf/58HH744THB3bRpE2699VYsX74cpaWlyM/Px+DBg3HllVciJSUlJtv+D7/wwgsYN24cLrvsMsN+PMM///yDU089FVdffbXxb60wdepUPP7443jooYfQo0cPH7MbN27EzTffjJUrV6KkpATbbLMN+vfvD9k1kJGRoZUFHztut9tI488//8Q777yDvLw8n9+vueYaLF68GE8//TS6du0alzzQKAmQAAmQAAlEQ4ACPRpqfIYESIAESCBuBDwCfbvttsPAgQPx999/Y9myZYa4E+E9d+5cZGZmtkhfS6BXVFQY4vWnn37CTjvthM6dO2PVqlXYsmUL/v3vf2Py5MkR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
"_figure_label": "Figure 2",
"_model_module_version": "^0.11",
"_size": [
800,
550
],
"_view_module_version": "^0.11",
"layout": "IPY_MODEL_6bd4aa27ce3d4da78e5e37533a8df70a",
"toolbar": "IPY_MODEL_8a5b8401a4764aa19048fef48718488b",
"toolbar_position": "left"
}
},
"6bd4aa27ce3d4da78e5e37533a8df70a": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {}
},
"8a5b8401a4764aa19048fef48718488b": {
"model_module": "jupyter-matplotlib",
"model_module_version": "^0.11",
"model_name": "ToolbarModel",
"state": {
"_model_module_version": "^0.11",
"_view_module_version": "^0.11",
"collapsed": true,
"layout": "IPY_MODEL_30e39652821f45d4b6a059be76bf8b9b",
"orientation": "vertical",
"toolitems": [
[
"Home",
"Reset original view",
"home",
"home"
],
[
"Back",
"Back to previous view",
"arrow-left",
"back"
],
[
"Forward",
"Forward to next view",
"arrow-right",
"forward"
],
[
"Pan",
"Left button pans, Right button zooms\nx/y fixes axis, CTRL fixes aspect",
"arrows",
"pan"
],
[
"Zoom",
"Zoom to rectangle\nx/y fixes axis",
"square-o",
"zoom"
],
[
"Download",
"Download plot",
"floppy-o",
"save_figure"
]
]
}
},
"8de2ee2a201f4e78b83bb73202597800": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {}
},
"b8d4c7781ff5497da21ab97b922bac2f": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {}
},
"cc2cbd4941e54dc4ab6e09927cb3f90b": {
"model_module": "jupyter-matplotlib",
"model_module_version": "^0.11",
"model_name": "MPLCanvasModel",
"state": {
"_data_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAAKvCAYAAAD5ieWEAAAAAXNSR0IArs4c6QAAIABJREFUeF7snQd4FEUbx/93SUhISCAJTSwUUaoIAgKCSJHee5UmHUR6E+ldmhTpSBMEpAcQASkighRREUE6yocCqaSXu+9553KX28sltze5g0vyzvPwAHczs7O/md3b/75lNHq9Xg8uTIAJMAEmwASYABNgAkyACTABJsAEmMBzJaBhgf5c+fPBmQATYAJMgAkwASbABJgAE2ACTIAJCAIs0HkhMAEmwASYABNgAkyACTABJsAEmAATcAECLNBdYBJ4CEyACTABJsAEmAATYAJMgAkwASbABFig8xpgAkyACTABJsAEmAATYAJMgAkwASbgAgRYoLvAJPAQmAATYAJMgAkwASbABJgAE2ACTIAJsEDnNcAEmAATYAJMgAkwASbABJgAE2ACTMAFCLBAd4FJ4CEwASbABJgAE2ACTIAJMAEmwASYABNggc5rgAkwASbABJgAE2ACTIAJMAEmwASYgAsQYIHuApPAQ2ACTIAJMAEmwASYABNgAkyACTABJsACndcAE2ACTIAJMAEmwASYABNgAkyACTABFyDAAt0FJoGHwASYABNgAkyACTABJsAEmAATYAJMgAU6rwEmwASYABNgAkyACTABJsAEmAATYAIuQIAFugtMAg+BCTABJsAEmAATUE/g4sWLqFixovoGdtTU6/X4/fffUa5cOTtacVUmwASYABNgAo4hwALdMRy5FybABJgAE8jGBPr374+yZcuib9++yJEjRzYm4fxTP3v2LLp37y5YjxgxwuEHnDx5MrZu3Yqvv/4aFSpUcHj/3CETYAJMgAkwgfQIsEDn9cEEmAATYAJMIAMEHjx4gDp16qBMmTLYtWtXBnriprYIREdHo0WLFiAr944dO+Dv72+rid3fX7hwAV26dEGbNm0wc+ZMU3udTof4+HjExsYid+7c0Gg0dvfNDZgAE2ACTIAJ2CLAAt0WIf6eCTABJsAE7CLwzz//oG7duqINiRgSM6+++iqaNGmC9u3bw8PDw2p/JG7HjRuHjRs3okqVKnYd07JySEgIPvvsM5w6dQphYWHIkycP2rZtiyFDhsDNzS1DfVs23rNnD8aMGYNBgwaJ/p1ZHj9+jNatW2PYsGHib0eVqVOn4quvvsKXX36Jd955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
"_figure_label": "Figure 3",
"_model_module_version": "^0.11",
"_size": [
800,
550
],
"_view_module_version": "^0.11",
"layout": "IPY_MODEL_8de2ee2a201f4e78b83bb73202597800",
"toolbar": "IPY_MODEL_2d1533973ff749659dd783abe0db740f",
"toolbar_position": "left"
}
},
"ee97a7eebb9a425eb0ade6e31817aa89": {
"model_module": "jupyter-matplotlib",
"model_module_version": "^0.11",
"model_name": "MPLCanvasModel",
"state": {
"_data_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAAKvCAYAAAD5ieWEAAAAAXNSR0IArs4c6QAAIABJREFUeF7snQeYU0XXx//J9l5YwE71BQTFLoLSRKSLgKhYQEW6gIIICqgUQRBBsFBUqvopoggoIk2KiO8LqBQrIqJYgO29JPmeM3dvNjebbG6SyW7u7pnnQTB37pm5v5lb/jNnzphsNpsNnJgAE2ACTIAJMAEmwASYABNgAkyACTCBKiVgYoFepfy5cCbABJgAE2ACTIAJMAEmwASYABNgAoIAC3TuCEyACTABJsAEmAATYAJMgAkwASbABIKAAAv0IGgErgITYAJMgAkwASbABJgAE2ACTIAJMAEW6NwHmAATYAJMgAkwASbABJgAE2ACTIAJBAEBFuhB0AhcBSbABJgAE2ACTIAJMAEmwASYABNgAizQuQ8wASbABJgAE2ACTIAJMAEmwASYABMIAgIs0IOgEbgKTIAJMAEmwASYABNgAkyACTABJsAEWKBzH2ACTIAJMAEmwASYABNgAkyACTABJhAEBFigB0EjcBWYABNgAkyACTABJsAEmAATYAJMgAmwQOc+wASYABNgAkyACTABJsAEmAATYAJMIAgIsEAPgkbgKjABJsAEmAATYAJMgAkwASbABJgAE2CBzn2ACTABJsAEmAATYAJMgAkwASbABJhAEBBggR4EjcBVYAJMgAkwgZpNYNiwYWjRogWGDBmC8PDwmg2Dr54JMAEmwASYQA0mwAK9Bjc+XzoTYAJMgAlUPYHTp0+jY8eOaN68OT788MOqrxDXgAkwASbABJgAE6gyAizQqww9F8wEmAATYAKuCPz555+45ZZbxCGTyYSEhAQ0atQI3bt3R//+/REWFuYSHInbSZMmYdWqVbjhhhv8gpuWloa5c+di9+7dyMjIQGJiIvr164fRo0cjJCTEL9vOJ69fvx5PPvkkRo4cKewHMp09exZ9+vTBY489Jv6WlaZNm4a3334by5cvR+vWrTVmU1NTMWvWLBw4cADp6ek477zz0K1bN5DXQEREhKwqlLPzf//3f3jmmWeEV8K4cePsx3/44Qf07t0brVq1wsqVKwNWPhtmAkyACTABJuALARbovlDjc5gAE2ACTCBgBFSBfsEFF6BXr144c+YMdu7cKcQdCe+lS5ciMjKyXPmyBHpubq4QrydPnsQll1yC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
"_figure_label": "Figure 1",
"_model_module_version": "^0.11",
"_size": [
800,
550
],
"_view_module_version": "^0.11",
"layout": "IPY_MODEL_21d8b0ba77b54fbfabcdf5f52b80df1a",
"toolbar": "IPY_MODEL_2a0670114f11457b80a6ef3ef22a34fc",
"toolbar_position": "left"
}
},
"f7658ea254754f89ae1eaaca3822afd1": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "2.0.0",
"model_name": "LayoutModel",
"state": {}
}
},
"version_major": 2,
"version_minor": 0
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}