利用python编写一段I-MRchart SPC控制图
时间: 2023-07-18 15:18:55 浏览: 98
好的,下面是一段利用Python编写的I-MR图控制图的代码:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 生成数据
data = np.random.normal(loc=10, scale=2, size=100)
df = pd.DataFrame(data, columns=['Value'])
# 计算统计量
mean = df['Value'].mean()
mr = df['Value'].diff().abs().mean()
# 计算控制限
ucl = mean + 3 * mr
lcl = mean - 3 * mr
cl = mean
# 绘制I-MR图控制图
fig, ax = plt.subplots(2, 1, figsize=(10, 8))
ax[0].axhline(ucl, color='r', linestyle='--', label='UCL')
ax[0].axhline(cl, color='b', linestyle='--', label='CL')
ax[0].axhline(lcl, color='r', linestyle='--', label='LCL')
ax[0].plot(df['Value'], 'o-', label='Value')
ax[0].legend()
ax[0].set_title('I Chart')
ax[1].axhline(3*mr, color='r', linestyle='--', label='UCL')
ax[1].axhline(mr, color='b', linestyle='--', label='CL')
ax[1].axhline(0, color='r', linestyle='--', label='LCL')
ax[1].plot(df['Value'].diff().abs(), 'o-', label='MR')
ax[1].legend()
ax[1].set_title('MR Chart')
```
这段代码会生成两个图,一个是I图,一个是MR图。其中,I图用于监控连续型数据的中心线变化,MR图用于监控连续型数据的离散度变化。需要注意的是,这段代码中生成的数据是随机的,实际应用时需要根据具体的业务场景来生成数据。