# フィッシュボーンダイアグラムのコード例
import matplotlib.pyplot as plt
# ダイアグラムの作成
plt.figure(figsize=(10, 6))
plt.title("フィッシュボーンダイアグラム")
plt.xlabel("要因")
plt.ylabel("問題")
plt.xticks(rotation=45)
# 影響要素の枝
causes = ["人", "プロセス", "装置", "素材"]
problem = "品質問題"
# 影響要素の枝をプロット
for i, cause in enumerate(causes):
plt.plot([cause, problem], [i+1, 0], marker="o")
plt.show()
- 5W1H分析:
5W1H分析は、問題の原因を特定するための基本的な手法です。問題に対して「なぜ」が起こったのかを繰り返し質問し、根本的な原因を特定します。以下は、5W1H分析の例です。
# 5W1H分析のコード例
def analyze_problem():
problem = input("問題は何ですか?")
causes = []
while True:
cause = input("なぜ問題が発生しましたか?")
causes.append(cause)
if cause == "根本的な原因":
break
print("問題:", problem)
print("原因:", causes)
- パレート図:
パレート図は、原因の重要度を視覚化するための手法です。問題の要因を重要度順に並べ、それぞれの項目の累積割合をグラフに表します。これにより、最も重要な原因に集中して対策を行うことができます。
# パレート図のコード例
import matplotlib.pyplot as plt
# データ
causes = ["原因1", "原因2", "原因3", "原因4", "原因5"]
occurrences = [20, 15, 10, 8, 5]
# パレート図の作成
plt.figure(figsize=(10, 6))
plt.bar(causes, occurrences)
plt.title("パレート図")
plt.xlabel("原因")
plt.ylabel("発生回数")
# 累積割合の計算とプロット
total = sum(occurrences)
cumulative_percent = [sum(occurrences[:i+1])/total*100 for i in range(len(occurrences))]
plt.twinx()
plt.plot(causes, cumulative_percent, color='r', marker='o')
plt.ylabel("累積割合(%)")
plt.show()